iQ Block Country - Version 1.2.9

Version Description

  • Change: Some codefixes applied
Download this release

Release Info

Developer iqpascal
Plugin Icon 128x128 iQ Block Country
Version 1.2.9
Comparing to
See all releases

Code changes from version 1.2.8 to 1.2.9

iq-block-country.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: iQ Block Country
4
  Plugin URI: https://www.webence.nl/plugins/iq-block-country-the-wordpress-plugin-that-blocks-countries-for-you/
5
- Version: 1.2.8
6
  Author: Pascal
7
  Author URI: https://www.webence.nl/
8
  Description: Block visitors from visiting your website and backend website based on which country their IP address is from. The Maxmind GeoIP lite database is used for looking up from which country an ip address is from.
@@ -89,7 +89,6 @@ function iqblockcountry_get_ipaddress() {
89
  elseif(array_key_exists('LOCAL_ADDR', $_SERVER))
90
  $server_address = $_SERVER['LOCAL_ADDR'];
91
 
92
-
93
  if ( isset($_SERVER['HTTP_CF_CONNECTING_IP']) && !empty($_SERVER['HTTP_CF_CONNECTING_IP']) ) {
94
  $ip_address = $_SERVER['HTTP_CF_CONNECTING_IP'];
95
  }
2
  /*
3
  Plugin Name: iQ Block Country
4
  Plugin URI: https://www.webence.nl/plugins/iq-block-country-the-wordpress-plugin-that-blocks-countries-for-you/
5
+ Version: 1.2.9
6
  Author: Pascal
7
  Author URI: https://www.webence.nl/
8
  Description: Block visitors from visiting your website and backend website based on which country their IP address is from. The Maxmind GeoIP lite database is used for looking up from which country an ip address is from.
89
  elseif(array_key_exists('LOCAL_ADDR', $_SERVER))
90
  $server_address = $_SERVER['LOCAL_ADDR'];
91
 
 
92
  if ( isset($_SERVER['HTTP_CF_CONNECTING_IP']) && !empty($_SERVER['HTTP_CF_CONNECTING_IP']) ) {
93
  $ip_address = $_SERVER['HTTP_CF_CONNECTING_IP'];
94
  }
libs/blockcountry-settings.php CHANGED
@@ -325,7 +325,8 @@ function iqblockcountry_settings_tools() {
325
  {
326
  if (iqblockcountry_is_valid_ipv4($_POST['ipaddress']) || iqblockcountry_is_valid_ipv6($_POST['ipaddress']))
327
  {
328
- $ip_address = $_POST['ipaddress'];
 
329
  $country = iqblockcountry_check_ipaddress($ip_address);
330
  $countrylist = iqblockcountry_get_isocountries();
331
  if ($country == "Unknown" || $country == "ipv6" || $country == "" || $country == "FALSE")
@@ -1266,7 +1267,7 @@ function iqblockcountry_settings_frontend()
1266
  <?php
1267
  $frontendwhitelist = get_option ( 'blockcountry_frontendwhitelist' );
1268
  ?>
1269
- <textarea cols="70" rows="5" name="blockcountry_frontendwhitelist"><?php echo $frontendwhitelist; ?></textarea>
1270
  </td></tr>
1271
  <tr valign="top">
1272
  <th width="30%"><?php _e('Frontend blacklist IPv4 and/or IPv6 addresses:', 'iq-block-country'); ?><br /><?php _e('Use a semicolon (;) to separate IP addresses', 'iq-block-country'); ?><br /><?php _e('This field accepts single IP addresses as well as ranges in CIDR format.', 'iq-block-country'); ?></th>
@@ -1274,7 +1275,7 @@ function iqblockcountry_settings_frontend()
1274
  <?php
1275
  $frontendblacklist = get_option ( 'blockcountry_frontendblacklist' );
1276
  ?>
1277
- <textarea cols="70" rows="5" name="blockcountry_frontendblacklist"><?php echo $frontendblacklist; ?></textarea>
1278
  </td></tr>
1279
  <tr><td></td><td>
1280
  <p class="submit"><input type="submit" class="button-primary"
@@ -1396,7 +1397,7 @@ function iqblockcountry_settings_backend()
1396
  <?php
1397
  $backendwhitelist = get_option ( 'blockcountry_backendwhitelist' );
1398
  ?>
1399
- <textarea cols="70" rows="5" name="blockcountry_backendwhitelist"><?php echo $backendwhitelist; ?></textarea>
1400
  </td></tr>
1401
  <tr valign="top">
1402
  <th width="30%"><?php _e('Backend blacklist IPv4 and/or IPv6 addresses:', 'iq-block-country'); ?><br /><?php _e('Use a semicolon (;) to separate IP addresses', 'iq-block-country'); ?><br /><?php _e('This field accepts single IP addresses as well as ranges in CIDR format.', 'iq-block-country'); ?></th>
@@ -1404,7 +1405,7 @@ function iqblockcountry_settings_backend()
1404
  <?php
1405
  $backendblacklist = get_option ( 'blockcountry_backendblacklist' );
1406
  ?>
1407
- <textarea cols="70" rows="5" name="blockcountry_backendblacklist"><?php echo $backendblacklist; ?></textarea>
1408
  </td></tr>
1409
  <tr><td></td><td>
1410
  <p class="submit"><input type="submit" class="button-primary"
@@ -1715,10 +1716,10 @@ function iqblockcountry_settings_logging()
1715
  else
1716
  {
1717
  if (extension_loaded('mbstring')) {
1718
- echo $mysqldate . '</td><td>' . $row->ipaddress . '</td><td>' . gethostbyaddr( $row->ipaddress ) . '</td><td>' . mb_strimwidth($row->url,0,75,'...') . '</td><td>' . $countryurl . $countrylist[$row->country] . '<td>';
1719
  }
1720
  else {
1721
- echo $mysqldate . '</td><td>' . $row->ipaddress . '</td><td>' . gethostbyaddr( $row->ipaddress ) . '</td><td>' . $row->url . '</td><td>' . $countryurl . $countrylist[$row->country] . '<td>';
1722
  }
1723
  }
1724
  if ($row->banned == "F") _e('Frontend', 'iq-block-country'); elseif ($row->banned == "A") { _e('Backend banlist','iq-block-country'); } elseif ($row->banned == "T") { _e('Backend & Backend banlist','iq-block-country'); } else { _e('Backend', 'iq-block-country'); }
@@ -1753,7 +1754,7 @@ function iqblockcountry_settings_logging()
1753
  }
1754
  else
1755
  {
1756
- echo "<tbody><tr><td>" . $row->ipaddress . "</td><td>" . gethostbyaddr($row->ipaddress) . "</td><td>" . $row->count . "</td></tr></tbody>";
1757
 
1758
  }
1759
 
325
  {
326
  if (iqblockcountry_is_valid_ipv4($_POST['ipaddress']) || iqblockcountry_is_valid_ipv6($_POST['ipaddress']))
327
  {
328
+ if (filter_var($_POST['ipaddress'], FILTER_VALIDATE_IP))
329
+ { $ip_address = $_POST['ipaddress']; }
330
  $country = iqblockcountry_check_ipaddress($ip_address);
331
  $countrylist = iqblockcountry_get_isocountries();
332
  if ($country == "Unknown" || $country == "ipv6" || $country == "" || $country == "FALSE")
1267
  <?php
1268
  $frontendwhitelist = get_option ( 'blockcountry_frontendwhitelist' );
1269
  ?>
1270
+ <textarea cols="70" rows="5" name="blockcountry_frontendwhitelist"><?php echo htmlspecialchars($frontendwhitelist); ?></textarea>
1271
  </td></tr>
1272
  <tr valign="top">
1273
  <th width="30%"><?php _e('Frontend blacklist IPv4 and/or IPv6 addresses:', 'iq-block-country'); ?><br /><?php _e('Use a semicolon (;) to separate IP addresses', 'iq-block-country'); ?><br /><?php _e('This field accepts single IP addresses as well as ranges in CIDR format.', 'iq-block-country'); ?></th>
1275
  <?php
1276
  $frontendblacklist = get_option ( 'blockcountry_frontendblacklist' );
1277
  ?>
1278
+ <textarea cols="70" rows="5" name="blockcountry_frontendblacklist"><?php echo htmlspecialchars($frontendblacklist); ?></textarea>
1279
  </td></tr>
1280
  <tr><td></td><td>
1281
  <p class="submit"><input type="submit" class="button-primary"
1397
  <?php
1398
  $backendwhitelist = get_option ( 'blockcountry_backendwhitelist' );
1399
  ?>
1400
+ <textarea cols="70" rows="5" name="blockcountry_backendwhitelist"><?php echo htmlspecialchars($backendwhitelist); ?></textarea>
1401
  </td></tr>
1402
  <tr valign="top">
1403
  <th width="30%"><?php _e('Backend blacklist IPv4 and/or IPv6 addresses:', 'iq-block-country'); ?><br /><?php _e('Use a semicolon (;) to separate IP addresses', 'iq-block-country'); ?><br /><?php _e('This field accepts single IP addresses as well as ranges in CIDR format.', 'iq-block-country'); ?></th>
1405
  <?php
1406
  $backendblacklist = get_option ( 'blockcountry_backendblacklist' );
1407
  ?>
1408
+ <textarea cols="70" rows="5" name="blockcountry_backendblacklist"><?php echo htmlspecialchars($backendblacklist); ?></textarea>
1409
  </td></tr>
1410
  <tr><td></td><td>
1411
  <p class="submit"><input type="submit" class="button-primary"
1716
  else
1717
  {
1718
  if (extension_loaded('mbstring')) {
1719
+ echo $mysqldate . '</td><td>' . $row->ipaddress . '</td><td>' . htmlspecialchars(gethostbyaddr( $row->ipaddress )) . '</td><td>' . mb_strimwidth($row->url,0,75,'...') . '</td><td>' . $countryurl . $countrylist[$row->country] . '<td>';
1720
  }
1721
  else {
1722
+ echo $mysqldate . '</td><td>' . $row->ipaddress . '</td><td>' . htmlspecialchars(gethostbyaddr( $row->ipaddress )) . '</td><td>' . $row->url . '</td><td>' . $countryurl . $countrylist[$row->country] . '<td>';
1723
  }
1724
  }
1725
  if ($row->banned == "F") _e('Frontend', 'iq-block-country'); elseif ($row->banned == "A") { _e('Backend banlist','iq-block-country'); } elseif ($row->banned == "T") { _e('Backend & Backend banlist','iq-block-country'); } else { _e('Backend', 'iq-block-country'); }
1754
  }
1755
  else
1756
  {
1757
+ echo "<tbody><tr><td>" . $row->ipaddress . "</td><td>" . htmlspecialchars(gethostbyaddr($row->ipaddress)) . "</td><td>" . $row->count . "</td></tr></tbody>";
1758
 
1759
  }
1760
 
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === iQ Block Country ===
2
  Contributors: iqpascal
3
- Donate link: https://www.webence.nl/plugins/donate
4
- Tags: spam, block, country, comments, ban, geo, geo blocking, geo ip, block country, block countries, ban countries, ban country, blacklist, whitelist, security
5
  Requires at least: 3.5.2
6
- Tested up to: 5.4.1
7
- Stable tag: 1.2.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Requires PHP: 5.6
@@ -21,7 +21,7 @@ If you want to block rogue countries that cause issues like for instance hack at
21
 
22
  Do you want secure your WordPress Admin backend site to only your country? Entirely possible! You can even block all countries and only allow your ip address.
23
 
24
- And even if you block a country you can still allow certain visitors by whitelisting their ip address just like you can allow a country but blacklist ip addresses from that country.
25
 
26
  You can show blocked visitors a message which you can style by using CSS or you can redirect them to a page within your WordPress site. Or you can redirect the visitors to an external website.
27
 
@@ -30,11 +30,16 @@ You can (dis)allow visitors to blog articles, blog categories or pages or all co
30
  Stop visitors from doing harmful things on your WordPress site or limit the countries that can access your blog. Add an additional layer of security to your WordPress site.
31
 
32
  This plugin uses the GeoLite database from Maxmind. It has a 99.5% accuracy so that is pretty good for a free database. If you need higher accuracy you can buy a license from MaxMind directly.
33
- If you cannot or do not want to download the GeoIP database from Maxmind you can use the GeoIP API website available on https://geoip.webence.nl/
34
 
35
  If you want to use the GeoLite database from Maxmind you will have to download the GeoIP database from MaxMind directly and upload it to your site.
36
  The Wordpress license does not allow this plugin to download the MaxMind Geo database for you.
37
 
 
 
 
 
 
38
  Do you need help with this plugin? Please email support@webence.nl.
39
 
40
  = GDPR Information =
@@ -92,7 +97,6 @@ This however does not mean this plugin does not work, it just means somebody tri
92
 
93
  If you are worried this plugin does not work you could try to block your own country or your own ip address and afterwards visit your frontend website and see if it actually works. Also if you have access to the logfiles of the webserver that hosts your website you can see that these visitors are actually denied with a HTTP error 403.
94
 
95
-
96
  = This plugin does not work, I blocked a country and still see visitors! =
97
 
98
  Well, this plugin does in fact work but is limited to the data MaxMind provides. Also in your statistics software or logfiles you probably will see log entries from countries that you have blocked. See the "How come I still see visitors..." FAQ for that.
@@ -237,6 +241,27 @@ be used.
237
 
238
  == Changelog ==
239
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
240
  = 1.2.8 =
241
 
242
  * Bugfix: Checking the IP address on the tools tab gave wrong information about countries being blocked if the "block countries below" function was used. This had no effect on the actual denying of visitors.
@@ -294,197 +319,8 @@ be used.
294
  * New: Added support for GeoIP2 country database
295
  * New: Added Pinterest as service
296
 
297
- = 1.1.51 =
298
-
299
- * New: Added new GeoIP API server in Florida
300
- * New: Added new GeoIP API server in Asia
301
-
302
- = 1.1.50 =
303
-
304
- * Bugfix: Fix for SQL error in rare conditions
305
- * New: Added AppleBot, Feedburner and Alexa to the services you can allow
306
- * Change: Added some more work for the upcoming GeoIP2 support.
307
-
308
- = 1.1.49 =
309
-
310
- * Change: Changed when the buffer is flushed (if selected) (Thanks to Nextendweb)
311
- * Change: Changed cleanup on debug logging table.
312
-
313
- = 1.1.48 =
314
-
315
- * Bugfix: Fixed small bug
316
-
317
- = 1.1.47 =
318
-
319
- * Change: You can now also enter IP Ranges in the black & whitelist in CIDR format.
320
- * Change: Altered logging clean up a little bit
321
-
322
- = 1.1.46 =
323
-
324
- * Bugfix: Added extra aiwop checking due to a notice error.
325
- * Change: Renamed Search Engines tab to Services tab as more non-search engines are added to the list.
326
- * New: Added Feedly to services.
327
- * New: Added Google Feed to services.
328
- * New: Changes are made for supporting the new GeoIP2 database format of MaxMind.
329
-
330
- = 1.1.45 =
331
-
332
- * Bugfix: (un)blocking individual pages and categories did not work anymore.
333
-
334
- = 1.1.44 =
335
-
336
- * Change: Removed Asia API Key server.
337
- * Change: Small change when frontend blocking is fired up.
338
- * Change: Adds server ip address (the IP address where your website is hosted) to the frontend whitelist so if you block the country your website is hosted it can still access wp-cron for instance.
339
-
340
- = 1.1.43 =
341
-
342
- * Change: Altered address for Asia API Key server
343
-
344
- = 1.1.42 =
345
-
346
- * Bugfix: Temp fix for some people who had issues being blocked from the backend.
347
-
348
- = 1.1.41 =
349
-
350
- * Change: Removed unnecessary code.
351
- * New: New GeoIP API location added at the west coast of the United States
352
- * New: Limit the number of days the logging is kept between 7 days and 90 days.
353
- * New: Disable host lookup on the logging tab. In some circumstances this may speed up the logging tab.
354
-
355
- = 1.1.40 =
356
-
357
- * Bugfix: Fix for bug in not blocking/allowing post types.
358
- * New: Moved GeoIP API to secure https
359
- * New: Logging DB optimization (Thanks to Arjen Lentz)
360
- * Change: Changed support option from forum to mail.
361
-
362
- = 1.1.38 =
363
-
364
- * Bugfix: Only shows warning of incompatible caching plugin if frontend blocking is on.
365
- * Change: Better error handling
366
-
367
- = 1.1.37 =
368
-
369
- * Change: Small adjustment to prevent wp_mail declaration as much as possible.
370
-
371
- = 1.1.36 =
372
-
373
- * Bugfix: Smashed bug on backend
374
-
375
- = 1.1.35 =
376
-
377
- * Change: Added WPRocket to list of caching plugins that are not compatible with iQ Block Country (thanks to Mike Reed for supplying the info)
378
- * New: Added Baidu to Search Engines list
379
- * New: Added Google Site Verification to the search engines list
380
- * New: Added Google Search Console to the search engines list
381
- * Change: Only displays warning about incompatible caching plugins in case frontend blocking is selected.
382
- * New: You can now also block individual post tags
383
- * Change: Fixed small security issue with downloading the statistics as CSV file (Thanks to Benjamin Pick for reporting)
384
-
385
- = 1.1.33 =
386
-
387
- * Bugfix: Bug smashed on tag page
388
-
389
- = 1.1.32 =
390
-
391
- * Bugfix: Bug smashed on tag page
392
-
393
- = 1.1.31 =
394
-
395
- * Change: Small changes in GeoIP API calls
396
- * New: A warning is displayed for known caching plugins that ignore the no caching headers.
397
- * Change: Small changes
398
- * Change: Moved some of the urls to https, more to follow.
399
- * New: Added option to block / unblock tag pages.
400
-
401
- = 1.1.30 =
402
-
403
- * Change: Added new GeoIP API location for Asia-Pacific region.
404
- * Change: Added some missing country icons.
405
-
406
- = 1.1.29 =
407
-
408
- * Change: Small changes in GeoIP API calls
409
- * New: Added database information to tools tab.
410
- * New: Added support for rename wp-login plugin
411
-
412
- = 1.1.28 =
413
-
414
- * Bugfix: Altered mysql_get_client_info check as in some setups this gave a fatal error.
415
- * New: Added Wordpress Jetpack as search engine. You can allow Jetpack to communicate with your site if you have Jetpack installed.
416
- * New: Added option to allow admin-ajax.php visits if you use backend blocking.
417
-
418
- = 1.1.27 =
419
-
420
- * Bugfix: Fixed small bug
421
-
422
- = 1.1.26 =
423
-
424
- * New: xmlrpc.php is now handled the same way as other backend pages.
425
- * Change: Updated chosen library to latest version.
426
- * Change: Added a (de)select all countries to the backend en frontend country list.
427
- * Change: Changed order of how the plugin detects the ip address.
428
- * Change: Added detection of more header info that can contain the proper ip address
429
- * New: Added support forum to the site.
430
- * Change: Added download urls on database is too old message.
431
-
432
- = 1.1.25 =
433
-
434
- * Bugfix: Altered checking for Simple Security Firewall
435
-
436
- = 1.1.24 =
437
-
438
- * New: Added support for Lockdown WordPress Admin
439
- * New: Added support for WordPress Security Firewall (Simple Security Firewall)
440
- * Change: Various small changes
441
-
442
- = 1.1.23 =
443
-
444
- * Bugfix: Fixed bug if cURL was not present in PHP version
445
- * New: When local GeoIP database present it checks if database is not older than 3 months and alerts users in a non-intrusive way.
446
-
447
- = 1.1.22 =
448
-
449
- * Bugfix: Category bug squashed
450
- * Change: Altered text-domain
451
- * New: Added export of all logging data to csv. This exports max of 1 month of blocked visitors from frontend & backend.
452
-
453
- = 1.1.21 =
454
-
455
- * Change: Minor improvements
456
- * New: Added check to detect closest location for GeoIP API users
457
- * Bugfix: Fixed an error if you lookup an ip on the tools tab while using the inverse function it sometimes would not display correctly if a country was blocked or not.
458
- * New: Added support for All in one WP Security Change Login URL. If you changed your login URL iQ Block Country will detect this setting and use it with your backend block settings.
459
-
460
- = 1.1.20 =
461
-
462
- * New: Added Google Ads to search engines
463
- * New: Added Redirect URL (Basic code supplied by Stefan)
464
- * New: Added inverse selection on frontend. (Basic code supplied by Stefan)
465
- * New: Added inverse selection on backend.
466
- * New: Validated input on the tools tab.
467
-
468
- = 1.1.19 =
469
-
470
- * Bugfix: Check if MaxMind databases actually exist.
471
- * New: Unzip MaxMind database(s) if gzip file is found.
472
- * New: Block post types
473
- * New: Added option to select if you want to block your search page.
474
- * New: When (re)activating the plugin it now adds the IP address of the person activating the plugin to the backend whitelist if the whitelist is currently empty.
475
-
476
- = 1.1.18 =
477
-
478
- * Change: Changed working directory for the GeoIP database to /wp-content/uploads
479
-
480
- = 1.1.17 =
481
-
482
- * Change: Due to a conflict of the license where Wordpress is released under and the license the MaxMind databases are released under I was forced to remove all auto downloads of the GeoIP databases. You now have to manually download the databases and upload them yourself.
483
- * New: Added Webence GeoIP API lookup. See https://geoip.webence.nl/ for more information about this API.
484
-
485
-
486
  == Upgrade Notice ==
487
 
488
  = 1.1.19 =
489
 
490
- This plugin no longer downloads the MaxMind database. You have to download manually or use the GeoIP API.
1
  === iQ Block Country ===
2
  Contributors: iqpascal
3
+ Donate link: https://webence.nl/plugins/donate
4
+ Tags: spam, block, country, comments, ban, geo, geo blocking, geo ip, block country, block countries, ban countries, ban country, allow list, block list, security
5
  Requires at least: 3.5.2
6
+ Tested up to: 5.8.1
7
+ Stable tag: 1.2.12
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Requires PHP: 5.6
21
 
22
  Do you want secure your WordPress Admin backend site to only your country? Entirely possible! You can even block all countries and only allow your ip address.
23
 
24
+ And even if you block a country you can still allow certain visitors by putting their ip address on the allow list just like you can allow a country but put ip addresses on the block list from that country.
25
 
26
  You can show blocked visitors a message which you can style by using CSS or you can redirect them to a page within your WordPress site. Or you can redirect the visitors to an external website.
27
 
30
  Stop visitors from doing harmful things on your WordPress site or limit the countries that can access your blog. Add an additional layer of security to your WordPress site.
31
 
32
  This plugin uses the GeoLite database from Maxmind. It has a 99.5% accuracy so that is pretty good for a free database. If you need higher accuracy you can buy a license from MaxMind directly.
33
+ If you cannot or do not want to download the GeoIP database from Maxmind you can use the GeoIP API website available on https://webence.nl/geoip-api/
34
 
35
  If you want to use the GeoLite database from Maxmind you will have to download the GeoIP database from MaxMind directly and upload it to your site.
36
  The Wordpress license does not allow this plugin to download the MaxMind Geo database for you.
37
 
38
+ Please be aware that although this plugin can help you greatly with reducing the number of 'bad' visitors on your website it is not fool proof and those who really want to visit your site may find a away.
39
+ This is not a security issue but a simple fact of today. Nobody can guarantee you 100% security as it is a constant battle between the good guys and the bad guys.
40
+
41
+ If you are sure your webhosting or yourself does not use any form of caching or proxying we recommend setting the "Override IP information" on the Home tab to REMOTE_ADDR
42
+
43
  Do you need help with this plugin? Please email support@webence.nl.
44
 
45
  = GDPR Information =
97
 
98
  If you are worried this plugin does not work you could try to block your own country or your own ip address and afterwards visit your frontend website and see if it actually works. Also if you have access to the logfiles of the webserver that hosts your website you can see that these visitors are actually denied with a HTTP error 403.
99
 
 
100
  = This plugin does not work, I blocked a country and still see visitors! =
101
 
102
  Well, this plugin does in fact work but is limited to the data MaxMind provides. Also in your statistics software or logfiles you probably will see log entries from countries that you have blocked. See the "How come I still see visitors..." FAQ for that.
241
 
242
  == Changelog ==
243
 
244
+ = 1.2.12 =
245
+
246
+ * Change: Added/Changed some services.
247
+ * Bugfix: Security issue fixed which could only be abused by people with administrator rights.
248
+
249
+ = 1.2.11 =
250
+
251
+ * Change: Minor UI fix
252
+ * Change: Added some more checking if the visitors IP is an actual IPv4 or IPv6 address
253
+ * Change: Updated README
254
+
255
+ = 1.2.10 =
256
+
257
+ * Change: Changed whitelist/blacklist to allow list / block list.
258
+ * Change: Removed Paris as GeoIP location
259
+ * Change: Added website server address to allow list of the backend to ensure certain WordPress functions keep working if you block the country your website is hosted from the backend.
260
+
261
+ = 1.2.9 =
262
+
263
+ * Change: Some codefixes applied
264
+
265
  = 1.2.8 =
266
 
267
  * Bugfix: Checking the IP address on the tools tab gave wrong information about countries being blocked if the "block countries below" function was used. This had no effect on the actual denying of visitors.
319
  * New: Added support for GeoIP2 country database
320
  * New: Added Pinterest as service
321
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
322
  == Upgrade Notice ==
323
 
324
  = 1.1.19 =
325
 
326
+ This plugin no longer downloads the MaxMind database. You have to download manually or use the GeoIP API.