Version Description
- New: Added MOZ as service.
- New: Added SEMrush as service.
- New: Added SEOkicks as service.
- New: Added EU2 and EU3 servers for GeoIP API
- New: Added support for WPS Hide Login
- Change: Deleted Asia server due to bad performance
- Change: Altered behavior of flushing the buffer
Download this release
Release Info
Developer | iqpascal |
Plugin | iQ Block Country |
Version | 1.2.2 |
Comparing to | |
See all releases |
Code changes from version 1.2.1 to 1.2.2
- iq-block-country.php +7 -5
- libs/blockcountry-checks.php +15 -0
- libs/blockcountry-search-engines.php +3 -0
- libs/blockcountry-settings.php +42 -13
- readme.txt +14 -101
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.
|
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.
|
@@ -13,7 +13,7 @@ Domain Path: /lang
|
|
13 |
|
14 |
/* This script uses GeoLite Country from MaxMind (http://www.maxmind.com) which is available under terms of GPL/LGPL */
|
15 |
|
16 |
-
/* Copyright 2010-
|
17 |
|
18 |
This program is free software; you can redistribute it and/or modify
|
19 |
it under the terms of the GNU General Public License, version 2, as
|
@@ -65,7 +65,7 @@ function iqblockcountry_buffer() {
|
|
65 |
* Attempt on output buffering to protect against headers already send mistakes
|
66 |
*/
|
67 |
function iqblockcountry_buffer_flush() {
|
68 |
-
|
69 |
}
|
70 |
|
71 |
|
@@ -126,7 +126,7 @@ function iqblockcountry_upgrade()
|
|
126 |
$dbversion = get_option( 'blockcountry_version' );
|
127 |
update_option('blockcountry_version',VERSION);
|
128 |
|
129 |
-
if ($dbversion != "" && version_compare($dbversion, "1.
|
130 |
{
|
131 |
iqblockcountry_find_geoip_location();
|
132 |
}
|
@@ -208,6 +208,8 @@ define("GEOIP2DBFILE",$upload_dir['basedir'] . "/GeoLite2-Country.mmdb");
|
|
208 |
define("TRACKINGURL","https://tracking.webence.nl/iq-block-country-tracking.php");
|
209 |
define("BANLISTRETRIEVEURL","https://eu.adminblock.webence.nl/iq-block-country-retrieve.php");
|
210 |
define("GEOIPAPIURL","https://eu.geoip.webence.nl/geoipapi.php");
|
|
|
|
|
211 |
define("GEOIPAPIURLUS","https://us.geoip.webence.nl/geoipapi.php");
|
212 |
define("GEOIPAPIURLUS2","https://us2.geoip.webence.nl/geoipapi.php");
|
213 |
define("GEOIPAPIURLUS3","https://us3.geoip.webence.nl/geoipapi.php");
|
@@ -215,7 +217,7 @@ define("GEOIPAPIURLASIA","https://asia.geoip.webence.nl/geoipapi.php");
|
|
215 |
define("GEOIPAPICHECKURL","https://eu.geoip.webence.nl/geoipapi-keycheck.php");
|
216 |
define("ADMINAPICHECKURL","https://tracking.webence.nl/adminapi-keycheck.php");
|
217 |
define("IPLOOKUPURL",'https://geoip.webence.nl/iplookup/iplookup.php');
|
218 |
-
define("VERSION","1.2.
|
219 |
define("DBVERSION","122");
|
220 |
define("PLUGINPATH",plugin_dir_path( __FILE__ ));
|
221 |
|
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.2
|
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.
|
13 |
|
14 |
/* This script uses GeoLite Country from MaxMind (http://www.maxmind.com) which is available under terms of GPL/LGPL */
|
15 |
|
16 |
+
/* Copyright 2010-2019 Pascal (email: pascal@webence.nl)
|
17 |
|
18 |
This program is free software; you can redistribute it and/or modify
|
19 |
it under the terms of the GNU General Public License, version 2, as
|
65 |
* Attempt on output buffering to protect against headers already send mistakes
|
66 |
*/
|
67 |
function iqblockcountry_buffer_flush() {
|
68 |
+
if (ob_get_contents()) ob_end_flush();
|
69 |
}
|
70 |
|
71 |
|
126 |
$dbversion = get_option( 'blockcountry_version' );
|
127 |
update_option('blockcountry_version',VERSION);
|
128 |
|
129 |
+
if ($dbversion != "" && version_compare($dbversion, "1.2.2", '<') )
|
130 |
{
|
131 |
iqblockcountry_find_geoip_location();
|
132 |
}
|
208 |
define("TRACKINGURL","https://tracking.webence.nl/iq-block-country-tracking.php");
|
209 |
define("BANLISTRETRIEVEURL","https://eu.adminblock.webence.nl/iq-block-country-retrieve.php");
|
210 |
define("GEOIPAPIURL","https://eu.geoip.webence.nl/geoipapi.php");
|
211 |
+
define("GEOIPAPIURLEU2","https://eu2.geoip.webence.nl/geoipapi.php");
|
212 |
+
define("GEOIPAPIURLEU3","https://eu3.geoip.webence.nl/geoipapi.php");
|
213 |
define("GEOIPAPIURLUS","https://us.geoip.webence.nl/geoipapi.php");
|
214 |
define("GEOIPAPIURLUS2","https://us2.geoip.webence.nl/geoipapi.php");
|
215 |
define("GEOIPAPIURLUS3","https://us3.geoip.webence.nl/geoipapi.php");
|
217 |
define("GEOIPAPICHECKURL","https://eu.geoip.webence.nl/geoipapi-keycheck.php");
|
218 |
define("ADMINAPICHECKURL","https://tracking.webence.nl/adminapi-keycheck.php");
|
219 |
define("IPLOOKUPURL",'https://geoip.webence.nl/iplookup/iplookup.php');
|
220 |
+
define("VERSION","1.2.2");
|
221 |
define("DBVERSION","122");
|
222 |
define("PLUGINPATH",plugin_dir_path( __FILE__ ));
|
223 |
|
libs/blockcountry-checks.php
CHANGED
@@ -84,6 +84,14 @@ function iqblockcountry_retrieve_geoipapi($ipaddress)
|
|
84 |
{
|
85 |
$url = GEOIPAPIURLUS3;
|
86 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
if (get_option('blockcountry_geoapilocation') == "ASIA")
|
88 |
{
|
89 |
$url = GEOIPAPIURLASIA;
|
@@ -585,6 +593,13 @@ function iqblockcountry_is_login_page() {
|
|
585 |
$pos2 = strpos( $_SERVER['REQUEST_URI'], $rwpl ); }
|
586 |
}
|
587 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
588 |
|
589 |
$pos = strpos( $_SERVER['REQUEST_URI'], 'wp-login' );
|
590 |
if ($pos !== false) { $found = TRUE; }
|
84 |
{
|
85 |
$url = GEOIPAPIURLUS3;
|
86 |
}
|
87 |
+
if (get_option('blockcountry_geoapilocation') == "EU2")
|
88 |
+
{
|
89 |
+
$url = GEOIPAPIURLEU2;
|
90 |
+
}
|
91 |
+
if (get_option('blockcountry_geoapilocation') == "EU3")
|
92 |
+
{
|
93 |
+
$url = GEOIPAPIURLEU3;
|
94 |
+
}
|
95 |
if (get_option('blockcountry_geoapilocation') == "ASIA")
|
96 |
{
|
97 |
$url = GEOIPAPIURLASIA;
|
593 |
$pos2 = strpos( $_SERVER['REQUEST_URI'], $rwpl ); }
|
594 |
}
|
595 |
|
596 |
+
if ( is_plugin_active( 'wps-hide-login/wps-hide-login.php' ) ) {
|
597 |
+
$whlpage = get_option('whl_page');
|
598 |
+
if (!empty($whlpage)) {
|
599 |
+
$pos2 = strpos( $_SERVER['REQUEST_URI'], $whlpage ); }
|
600 |
+
}
|
601 |
+
|
602 |
+
|
603 |
|
604 |
$pos = strpos( $_SERVER['REQUEST_URI'], 'wp-login' );
|
605 |
if ($pos !== false) { $found = TRUE; }
|
libs/blockcountry-search-engines.php
CHANGED
@@ -23,9 +23,12 @@ $searchengines = array(
|
|
23 |
"Google Site Verification" => "Google-Site-Verification",
|
24 |
"Jetpack" => "Jetpack by WordPress.com",
|
25 |
"Link checker" => "W3C-checklink",
|
|
|
26 |
"MSN" => "msnbot",
|
27 |
"Pingdom" => "Pingdom.com_bot",
|
28 |
"Pinterest" => "Pinterest",
|
|
|
|
|
29 |
"TinEye" => "tineye-bot",
|
30 |
"Twitter" => "twitterbot",
|
31 |
"Yahoo!" => "yahoo! slurp",
|
23 |
"Google Site Verification" => "Google-Site-Verification",
|
24 |
"Jetpack" => "Jetpack by WordPress.com",
|
25 |
"Link checker" => "W3C-checklink",
|
26 |
+
"MOZ" => "rogerbot",
|
27 |
"MSN" => "msnbot",
|
28 |
"Pingdom" => "Pingdom.com_bot",
|
29 |
"Pinterest" => "Pinterest",
|
30 |
+
"SEMrush" => "SemrushBot",
|
31 |
+
"SEOkicks" => "SEOkicks-Robot",
|
32 |
"TinEye" => "tineye-bot",
|
33 |
"Twitter" => "twitterbot",
|
34 |
"Yahoo!" => "yahoo! slurp",
|
libs/blockcountry-settings.php
CHANGED
@@ -1511,11 +1511,13 @@ if (is_file ( GEOIP2DBFILE ) && (!get_option('blockcountry_geoapikey'))) {
|
|
1511 |
</th>
|
1512 |
<td width="70%">
|
1513 |
|
1514 |
-
<input type="radio" name="blockcountry_geoapilocation" value="EU" <?php checked('EU', get_option('blockcountry_geoapilocation'), true); ?>> Europe<br />
|
|
|
|
|
1515 |
<input type="radio" name="blockcountry_geoapilocation" value="US" <?php checked('US', get_option('blockcountry_geoapilocation'), true); ?>> United States - New York<br />
|
1516 |
<input type="radio" name="blockcountry_geoapilocation" value="US2" <?php checked('US2', get_option('blockcountry_geoapilocation'), true); ?>> United States - San Fransico<br />
|
1517 |
<input type="radio" name="blockcountry_geoapilocation" value="US3" <?php checked('US3', get_option('blockcountry_geoapilocation'), true); ?>> United States - Miami<br />
|
1518 |
-
|
1519 |
</td></tr>
|
1520 |
<tr valign="top">
|
1521 |
<th width="30%"><?php _e('Admin block API Key:', 'iq-block-country'); ?><br />
|
@@ -1816,26 +1818,45 @@ function iqblockcountry_find_geoip_location()
|
|
1816 |
$infous3 = curl_getinfo($curl);
|
1817 |
curl_close($curl);
|
1818 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1819 |
$curl = curl_init();
|
1820 |
curl_setopt_array($curl, array(
|
1821 |
-
|
1822 |
-
|
1823 |
-
CURLOPT_USERAGENT => 'iQ Block Country Asia location test/' . get_bloginfo('wpurl')
|
1824 |
));
|
1825 |
$resp = curl_exec($curl);
|
1826 |
-
$
|
1827 |
curl_close($curl);
|
1828 |
-
|
1829 |
$curl = curl_init();
|
1830 |
curl_setopt_array($curl, array(
|
1831 |
-
CURLOPT_URL => 'https://
|
1832 |
-
CURLOPT_USERAGENT => 'iQ Block Country
|
1833 |
));
|
1834 |
$resp = curl_exec($curl);
|
1835 |
-
$
|
1836 |
curl_close($curl);
|
1837 |
|
1838 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1839 |
|
1840 |
if ($infous['total_time'] == $fastestsite)
|
1841 |
{
|
@@ -1849,9 +1870,17 @@ function iqblockcountry_find_geoip_location()
|
|
1849 |
{
|
1850 |
update_option('blockcountry_geoapilocation','US3');
|
1851 |
}
|
1852 |
-
elseif ($infoasia['total_time'] == $fastestsite)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1853 |
{
|
1854 |
-
update_option('blockcountry_geoapilocation','
|
1855 |
}
|
1856 |
else
|
1857 |
{
|
1511 |
</th>
|
1512 |
<td width="70%">
|
1513 |
|
1514 |
+
<input type="radio" name="blockcountry_geoapilocation" value="EU" <?php checked('EU', get_option('blockcountry_geoapilocation'), true); ?>> Europe (Netherlands)<br />
|
1515 |
+
<input type="radio" name="blockcountry_geoapilocation" value="EU2" <?php checked('EU2', get_option('blockcountry_geoapilocation'), true); ?>> Europe (United Kingdom)<br />
|
1516 |
+
<input type="radio" name="blockcountry_geoapilocation" value="EU3" <?php checked('EU3', get_option('blockcountry_geoapilocation'), true); ?>> Europe (Germany)<br />
|
1517 |
<input type="radio" name="blockcountry_geoapilocation" value="US" <?php checked('US', get_option('blockcountry_geoapilocation'), true); ?>> United States - New York<br />
|
1518 |
<input type="radio" name="blockcountry_geoapilocation" value="US2" <?php checked('US2', get_option('blockcountry_geoapilocation'), true); ?>> United States - San Fransico<br />
|
1519 |
<input type="radio" name="blockcountry_geoapilocation" value="US3" <?php checked('US3', get_option('blockcountry_geoapilocation'), true); ?>> United States - Miami<br />
|
1520 |
+
|
1521 |
</td></tr>
|
1522 |
<tr valign="top">
|
1523 |
<th width="30%"><?php _e('Admin block API Key:', 'iq-block-country'); ?><br />
|
1818 |
$infous3 = curl_getinfo($curl);
|
1819 |
curl_close($curl);
|
1820 |
|
1821 |
+
// $curl = curl_init();
|
1822 |
+
// curl_setopt_array($curl, array(
|
1823 |
+
// CURLOPT_RETURNTRANSFER => 1,
|
1824 |
+
// CURLOPT_URL => 'https://asia.geoip.webence.nl/test',
|
1825 |
+
// CURLOPT_USERAGENT => 'iQ Block Country Asia location test/' . get_bloginfo('wpurl')
|
1826 |
+
// ));
|
1827 |
+
// $resp = curl_exec($curl);
|
1828 |
+
// $infoasia = curl_getinfo($curl);
|
1829 |
+
// curl_close($curl);
|
1830 |
+
|
1831 |
$curl = curl_init();
|
1832 |
curl_setopt_array($curl, array(
|
1833 |
+
CURLOPT_URL => 'https://eu.geoip.webence.nl/test',
|
1834 |
+
CURLOPT_USERAGENT => 'iQ Block Country EU location test/' . get_bloginfo('wpurl')
|
|
|
1835 |
));
|
1836 |
$resp = curl_exec($curl);
|
1837 |
+
$infoeu = curl_getinfo($curl);
|
1838 |
curl_close($curl);
|
1839 |
+
|
1840 |
$curl = curl_init();
|
1841 |
curl_setopt_array($curl, array(
|
1842 |
+
CURLOPT_URL => 'https://eu2.geoip.webence.nl/test',
|
1843 |
+
CURLOPT_USERAGENT => 'iQ Block Country EU2 location test/' . get_bloginfo('wpurl')
|
1844 |
));
|
1845 |
$resp = curl_exec($curl);
|
1846 |
+
$infoeu2 = curl_getinfo($curl);
|
1847 |
curl_close($curl);
|
1848 |
|
1849 |
+
$curl = curl_init();
|
1850 |
+
curl_setopt_array($curl, array(
|
1851 |
+
CURLOPT_URL => 'https://eu3.geoip.webence.nl/test',
|
1852 |
+
CURLOPT_USERAGENT => 'iQ Block Country EU3 location test/' . get_bloginfo('wpurl')
|
1853 |
+
));
|
1854 |
+
$resp = curl_exec($curl);
|
1855 |
+
$infoeu3 = curl_getinfo($curl);
|
1856 |
+
curl_close($curl);
|
1857 |
+
|
1858 |
+
|
1859 |
+
$fastestsite = min($infoeu['total_time'],$infoeu2['total_time'],$infoeu3['total_time'],$infous['total_time'],$infous2['total_time'],$infous3['total_time']);
|
1860 |
|
1861 |
if ($infous['total_time'] == $fastestsite)
|
1862 |
{
|
1870 |
{
|
1871 |
update_option('blockcountry_geoapilocation','US3');
|
1872 |
}
|
1873 |
+
// elseif ($infoasia['total_time'] == $fastestsite)
|
1874 |
+
// {
|
1875 |
+
// update_option('blockcountry_geoapilocation','ASIA');
|
1876 |
+
// }
|
1877 |
+
elseif ($infoeu2['total_time'] == $fastestsite)
|
1878 |
+
{
|
1879 |
+
update_option('blockcountry_geoapilocation','EU2');
|
1880 |
+
}
|
1881 |
+
elseif ($infoeu3['total_time'] == $fastestsite)
|
1882 |
{
|
1883 |
+
update_option('blockcountry_geoapilocation','EU3');
|
1884 |
}
|
1885 |
else
|
1886 |
{
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ 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.0.
|
7 |
-
Stable tag: 1.2.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
Requires PHP: 5.6
|
@@ -169,10 +169,8 @@ If you just want to allow some countries you can also use the invert function by
|
|
169 |
|
170 |
You can download the database(s) directly from MaxMind and upload them to your website.
|
171 |
|
172 |
-
1. Download the
|
173 |
-
2. Unzip the
|
174 |
-
3. Download the IPv6 database if you have a website running on IPv6 from: http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
|
175 |
-
4. Unzip the GeoIP database and upload it to your upload dir usually /wp-content/uploads/GeoIPv6.dat
|
176 |
|
177 |
Maxmind updates the GeoLite database every month.
|
178 |
|
@@ -230,6 +228,16 @@ be used.
|
|
230 |
|
231 |
== Changelog ==
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
= 1.2.1 =
|
234 |
|
235 |
* New: Added Link Checker (https://validator.w3.org/checklink) as service.
|
@@ -432,101 +440,6 @@ be used.
|
|
432 |
* 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.
|
433 |
* New: Added Webence GeoIP API lookup. See https://geoip.webence.nl/ for more information about this API.
|
434 |
|
435 |
-
= 1.1.16 =
|
436 |
-
|
437 |
-
* New: Accessibility option. You can now choose if you want the country default selectbox or an normal selectbox.
|
438 |
-
* New: New button to empty the logging database..
|
439 |
-
* New: You can now set the option to not log the ip addresses to the database. This does not influence the blocking process only the logging process. This can be handy if the laws in your country do not permit you to log this information or if you choose not to log this information
|
440 |
-
|
441 |
-
= 1.1.15 =
|
442 |
-
|
443 |
-
* Bugfix: You can now set an option to buffer the output of the iQ Block Country plugin. If you use for instance NextGen Gallery you should not set this option as it will break uploading pictures to your gallery.
|
444 |
-
* Bugfix: Last time GeoIP databases were downloaded was wrong.
|
445 |
-
* Bugfix: If you configured auto-update of the GeoIP databases the tools tab showed that you did not configure auto update.
|
446 |
-
* Added check for HTTP_X_TM_REMOTE_ADDR to get real ip address of T-Mobile users.
|
447 |
-
* Added Twitter, Bitly, Cliqz and TinEye to the search engines list.
|
448 |
-
* New: No longer blocks category pages of categories you have not blocked.
|
449 |
-
* Bugfix: Added check if HTTP_USER_AGENT is set.
|
450 |
-
|
451 |
-
= 1.1.14 =
|
452 |
-
|
453 |
-
* Bugfix: The plugin did not recognise the login page when installed to a subdirectory.
|
454 |
-
* New: You can configure if it auto updates the GeoIP Database. Upon request of those people who have the paid database of MaxMind.
|
455 |
-
* Added Facebook and MSN to list of search engines.
|
456 |
-
* Changed the version of the geoip.inc file to the version of https://github.com/daigo75/geoip-api-php
|
457 |
-
|
458 |
-
= 1.1.13 =
|
459 |
-
|
460 |
-
* Bugfix on setting defaults when they values already existed.
|
461 |
-
* You can now allow search engines access to your country even if they come from countries that you want to block.
|
462 |
-
|
463 |
-
= 1.1.12 =
|
464 |
-
|
465 |
-
* Bugfix on the backend blacklist / whitelist
|
466 |
-
|
467 |
-
= 1.1.11 =
|
468 |
-
|
469 |
-
* Added select box on how many rows to display on the logging tab
|
470 |
-
* Redirect blocked users to a specific page instead of displaying the block message.
|
471 |
-
* Added blacklist and whitelist of IP addresses to the backend.
|
472 |
-
* Adjusted some text
|
473 |
-
* Minor bugfixes
|
474 |
-
|
475 |
-
= 1.1.10 =
|
476 |
-
|
477 |
-
* Small fixes
|
478 |
-
* WP 3.9 compatability issue fixed
|
479 |
-
|
480 |
-
= 1.1.9 =
|
481 |
-
|
482 |
-
* Bugfix release due to faulty v1.1.8 release. My Apologies.
|
483 |
-
|
484 |
-
= 1.1.8 =
|
485 |
-
|
486 |
-
* Smashed a bug where the homepage was unprotected due to missing check.
|
487 |
-
|
488 |
-
= 1.1.7 =
|
489 |
-
|
490 |
-
* Added Russian (ru_RU) translation by Maxim
|
491 |
-
* Added Serbo-Croatian (sr_RU) translation by Borisa Djuraskovic (Webostinghub)
|
492 |
-
* Changed the logging table a bit.
|
493 |
-
|
494 |
-
= 1.1.6 =
|
495 |
-
* Added to ban categories. This works the same way as blocking pages (By request of FVCS)
|
496 |
-
* Changed the admin page layout. Added tabs for frontend and backend blocking to make it look less cluttered
|
497 |
-
* Added optional tracking to the plugin. This is an experiment to see if building a database of IP addresses that try to login to the backend is viable.
|
498 |
-
* Upon first activation the plugin now fills the backend block list with all countries except the country that is currently used to activate.
|
499 |
-
* Added IP checking in header HTTP_CLIENT_IP and HTTP_X_REAL_IP
|
500 |
-
|
501 |
-
= 1.1.5 =
|
502 |
-
|
503 |
-
* Statistics required wp-config.php in a specific place bug smashed.
|
504 |
-
|
505 |
-
= 1.1.4 =
|
506 |
-
|
507 |
-
* Added import/export function.
|
508 |
-
* Minor bugs solved
|
509 |
-
|
510 |
-
= 1.1.3 =
|
511 |
-
|
512 |
-
* Fixed error that when using the option to block individual pages all visitors would be blocked. (Thanks to apostlepoe for reporting)
|
513 |
-
|
514 |
-
= 1.1.2 =
|
515 |
-
|
516 |
-
* Fixed localization error. (Thanks to Lisa for reporting)
|
517 |
-
|
518 |
-
= 1.1.1 =
|
519 |
-
|
520 |
-
* You can now choose to block individual pages. Leaving other pages open for visitors from blocked countries. You can for instance use this feature to block countries from visiting specific pages due to content rights etc.
|
521 |
-
* Source now supports localization. Included is the English and Dutch language. I'd be happy to include other translations if anyone can supply those to me.
|
522 |
-
|
523 |
-
= 1.1 =
|
524 |
-
|
525 |
-
* Added statistics to the plugin.
|
526 |
-
* You can view the last 15 hosts that were blocked including the url they visited.
|
527 |
-
* You can view the top 15 of countries that were blocked in the past 30 days.
|
528 |
-
* You can view the top 15 of hosts that were blocked in the past 30 days.
|
529 |
-
* You can view the top URL's that were most blocked in the past 30 days.
|
530 |
|
531 |
== Upgrade Notice ==
|
532 |
|
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.0.3
|
7 |
+
Stable tag: 1.2.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
Requires PHP: 5.6
|
169 |
|
170 |
You can download the database(s) directly from MaxMind and upload them to your website.
|
171 |
|
172 |
+
1. Download the GeoIP2 Country database from: http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz
|
173 |
+
2. Unzip the GeoIP2 database and upload the GeoLite2-Country.mmdb file to your upload dir usually /wp-content/uploads/GeoLite2-Country.mmdb
|
|
|
|
|
174 |
|
175 |
Maxmind updates the GeoLite database every month.
|
176 |
|
228 |
|
229 |
== Changelog ==
|
230 |
|
231 |
+
= 1.2.2 =
|
232 |
+
|
233 |
+
* New: Added MOZ as service.
|
234 |
+
* New: Added SEMrush as service.
|
235 |
+
* New: Added SEOkicks as service.
|
236 |
+
* New: Added EU2 and EU3 servers for GeoIP API
|
237 |
+
* New: Added support for WPS Hide Login
|
238 |
+
* Change: Deleted Asia server due to bad performance
|
239 |
+
* Change: Altered behavior of flushing the buffer
|
240 |
+
|
241 |
= 1.2.1 =
|
242 |
|
243 |
* New: Added Link Checker (https://validator.w3.org/checklink) as service.
|
440 |
* 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.
|
441 |
* New: Added Webence GeoIP API lookup. See https://geoip.webence.nl/ for more information about this API.
|
442 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
|
444 |
== Upgrade Notice ==
|
445 |
|