Version Description
Fixes - Compatibility with MailChimp for WP version 4.0.4 and up.
Download this release
Release Info
Developer | mihche |
Plugin | WPBruiser {no- Captcha anti-Spam} |
Version | 3.1.1 |
Comparing to | |
See all releases |
Code changes from version 3.0.15 to 3.1.1
- engine/GdbcModulesController.php +1 -1
- engine/modules/mc-for-wp/GdbcMailChimpForWpPublicModule.php +48 -44
- goodbye-captcha.php +3 -2
- includes/utils/MchGdbcWpUtils.php +16 -0
- includes/vendor/MchHttp/MchGdbcIpCountryLocator.php +5 -5
- includes/vendor/MchHttp/MchGdbcTrustedIPRanges.php +4 -4
- includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-0.dat +0 -0
- includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-1.dat +0 -0
- includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-2.dat +0 -0
- includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-3.dat +0 -0
- includes/vendor/MchHttp/country-ips/ipv6/country-ipv6-0.dat +0 -0
- readme.txt +14 -2
engine/GdbcModulesController.php
CHANGED
@@ -452,7 +452,7 @@ final class GdbcModulesController
|
|
452 |
case self::MODULE_GRAVITY_FORMS : return 'Gravity Forms';
|
453 |
case self::MODULE_JETPACK_CONTACT_FORM : return 'Jetpack Contact Form';
|
454 |
case self::MODULE_MAIL_CHIMP_FOR_WP : return 'MailChimp for WP';
|
455 |
-
case self::MODULE_MAIL_POET : return '
|
456 |
case self::MODULE_NINJA_FORMS : return 'Ninja Forms';
|
457 |
case self::MODULE_PLANSO_FORMS : return 'Planso Forms';
|
458 |
case self::MODULE_SEAMLESS_DONATIONS : return 'Seamless Donations';
|
452 |
case self::MODULE_GRAVITY_FORMS : return 'Gravity Forms';
|
453 |
case self::MODULE_JETPACK_CONTACT_FORM : return 'Jetpack Contact Form';
|
454 |
case self::MODULE_MAIL_CHIMP_FOR_WP : return 'MailChimp for WP';
|
455 |
+
case self::MODULE_MAIL_POET : return 'MailPoet';
|
456 |
case self::MODULE_NINJA_FORMS : return 'Ninja Forms';
|
457 |
case self::MODULE_PLANSO_FORMS : return 'Planso Forms';
|
458 |
case self::MODULE_SEAMLESS_DONATIONS : return 'Seamless Donations';
|
engine/modules/mc-for-wp/GdbcMailChimpForWpPublicModule.php
CHANGED
@@ -26,7 +26,8 @@ class GdbcMailChimpForWpPublicModule extends GdbcBasePublicModule
|
|
26 |
|
27 |
parent::__construct();
|
28 |
|
29 |
-
|
|
|
30 |
return;
|
31 |
|
32 |
add_filter('mc4wp_form_before_fields', array($this, 'getTokenFieldHtml'));
|
@@ -41,71 +42,73 @@ class GdbcMailChimpForWpPublicModule extends GdbcBasePublicModule
|
|
41 |
|
42 |
public function validateSubscriptionRequest($arrErrors, $mcForm)
|
43 |
{
|
44 |
-
if( !
|
45 |
return $arrErrors;
|
46 |
|
47 |
!is_array($arrErrors) ? $arrErrors = array() : null;
|
48 |
|
49 |
-
$
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
52 |
|
53 |
$arrCapturedData = array();
|
54 |
-
foreach((array)$mcForm->
|
55 |
{
|
56 |
if(is_scalar($fieldValue))
|
57 |
{
|
58 |
$arrCapturedData[$fieldName] = $fieldValue;
|
59 |
continue;
|
60 |
}
|
61 |
-
if(strtolower($fieldName) === 'address')
|
62 |
-
{
|
63 |
-
if(is_array($fieldValue))
|
64 |
-
{
|
65 |
-
$fieldValue = array_merge(array('addr1' => '','city' => '','state' => '', 'zip' => ''), $fieldValue );
|
66 |
-
}
|
67 |
-
elseif(is_string($fieldValue))
|
68 |
-
{
|
69 |
-
$arrAddress = explode(',', $fieldValue);
|
70 |
-
$fieldValue = array(
|
71 |
-
'addr1' => isset($arrAddress[0]) ? $arrAddress[0] : null,
|
72 |
-
'city' => isset($arrAddress[1]) ? $arrAddress[1] : null,
|
73 |
-
'state' => isset($arrAddress[2]) ? $arrAddress[2] : null,
|
74 |
-
'zip' => isset($arrAddress[3]) ? $arrAddress[3] : null,
|
75 |
-
);
|
76 |
-
$fieldValue = array_filter($fieldValue);
|
77 |
-
}
|
78 |
-
|
79 |
-
$arrCapturedData[$fieldName] = (array)$fieldValue;
|
80 |
-
continue;
|
81 |
-
}
|
82 |
-
|
83 |
-
if(
|
84 |
-
{
|
85 |
-
foreach($fieldValue as $groupId => &$groupData)
|
86 |
-
{
|
87 |
-
if(!is_string($groupData))
|
88 |
-
continue;
|
89 |
-
|
90 |
-
$groupData = explode(',', sanitize_text_field($groupData));
|
91 |
-
}
|
92 |
-
|
93 |
-
$arrCapturedData[$fieldName] = (array)$fieldValue;
|
94 |
-
}
|
95 |
}
|
96 |
|
97 |
$this->getAttemptEntity()->Notes = $arrCapturedData;
|
98 |
|
99 |
-
if( ! GdbcRequestController::isValid($this->getAttemptEntity()) )
|
100 |
$arrErrors[] = 'spam';
|
|
|
101 |
|
102 |
return $arrErrors;
|
103 |
|
104 |
}
|
105 |
|
106 |
|
107 |
-
|
108 |
-
|
109 |
public function validateOldSubscriptionRequest($isRequestValid, $submittedData)
|
110 |
{
|
111 |
$submittedData = array_change_key_case((array)$submittedData, CASE_UPPER);
|
@@ -127,6 +130,7 @@ class GdbcMailChimpForWpPublicModule extends GdbcBasePublicModule
|
|
127 |
$arrCapturedData[$fieldName] = $fieldValue;
|
128 |
continue;
|
129 |
}
|
|
|
130 |
if(strtolower($fieldName) === 'address')
|
131 |
{
|
132 |
if(is_array($fieldValue))
|
@@ -165,7 +169,7 @@ class GdbcMailChimpForWpPublicModule extends GdbcBasePublicModule
|
|
165 |
|
166 |
$this->getAttemptEntity()->Notes = $arrCapturedData;
|
167 |
|
168 |
-
return GdbcRequestController::isValid($this->getAttemptEntity());
|
169 |
|
170 |
}
|
171 |
|
26 |
|
27 |
parent::__construct();
|
28 |
|
29 |
+
//!GoodByeCaptchaUtils::isMailChimpForWPActivated() ||
|
30 |
+
if(!$this->getOption(GdbcMailChimpForWpAdminModule::OPTION_MODULE_MAIL_CHIMP_FOR_WP))
|
31 |
return;
|
32 |
|
33 |
add_filter('mc4wp_form_before_fields', array($this, 'getTokenFieldHtml'));
|
42 |
|
43 |
public function validateSubscriptionRequest($arrErrors, $mcForm)
|
44 |
{
|
45 |
+
if( ! is_object($mcForm) )
|
46 |
return $arrErrors;
|
47 |
|
48 |
!is_array($arrErrors) ? $arrErrors = array() : null;
|
49 |
|
50 |
+
$mcForm->submittedData = !empty($mcForm->data) ? $mcForm->data : array();
|
51 |
+
|
52 |
+
if(empty($mcForm->submittedData)){
|
53 |
+
$mcForm->submittedData = @$mcForm->get_data();
|
54 |
+
}
|
55 |
+
|
56 |
|
57 |
$arrCapturedData = array();
|
58 |
+
foreach((array)$mcForm->submittedData as $fieldName => $fieldValue)
|
59 |
{
|
60 |
if(is_scalar($fieldValue))
|
61 |
{
|
62 |
$arrCapturedData[$fieldName] = $fieldValue;
|
63 |
continue;
|
64 |
}
|
65 |
+
// if(strtolower($fieldName) === 'address')
|
66 |
+
// {
|
67 |
+
// if(is_array($fieldValue))
|
68 |
+
// {
|
69 |
+
// $fieldValue = array_merge(array('addr1' => '','city' => '','state' => '', 'zip' => ''), $fieldValue );
|
70 |
+
// }
|
71 |
+
// elseif(is_string($fieldValue))
|
72 |
+
// {
|
73 |
+
// $arrAddress = explode(',', $fieldValue);
|
74 |
+
// $fieldValue = array(
|
75 |
+
// 'addr1' => isset($arrAddress[0]) ? $arrAddress[0] : null,
|
76 |
+
// 'city' => isset($arrAddress[1]) ? $arrAddress[1] : null,
|
77 |
+
// 'state' => isset($arrAddress[2]) ? $arrAddress[2] : null,
|
78 |
+
// 'zip' => isset($arrAddress[3]) ? $arrAddress[3] : null,
|
79 |
+
// );
|
80 |
+
// $fieldValue = array_filter($fieldValue);
|
81 |
+
// }
|
82 |
+
//
|
83 |
+
// $arrCapturedData[$fieldName] = (array)$fieldValue;
|
84 |
+
// continue;
|
85 |
+
// }
|
86 |
+
//
|
87 |
+
// if(strtoupper($fieldName) === 'INTERESTS' && is_array($fieldValue))
|
88 |
+
// {
|
89 |
+
// foreach($fieldValue as $groupId => &$groupData)
|
90 |
+
// {
|
91 |
+
// if(!is_string($groupData))
|
92 |
+
// continue;
|
93 |
+
//
|
94 |
+
// $groupData = explode(',', sanitize_text_field($groupData));
|
95 |
+
// }
|
96 |
+
//
|
97 |
+
// $arrCapturedData[$fieldName] = (array)$fieldValue;
|
98 |
+
// }
|
99 |
}
|
100 |
|
101 |
$this->getAttemptEntity()->Notes = $arrCapturedData;
|
102 |
|
103 |
+
if( ! GdbcRequestController::isValid($this->getAttemptEntity()) ) {
|
104 |
$arrErrors[] = 'spam';
|
105 |
+
}
|
106 |
|
107 |
return $arrErrors;
|
108 |
|
109 |
}
|
110 |
|
111 |
|
|
|
|
|
112 |
public function validateOldSubscriptionRequest($isRequestValid, $submittedData)
|
113 |
{
|
114 |
$submittedData = array_change_key_case((array)$submittedData, CASE_UPPER);
|
130 |
$arrCapturedData[$fieldName] = $fieldValue;
|
131 |
continue;
|
132 |
}
|
133 |
+
|
134 |
if(strtolower($fieldName) === 'address')
|
135 |
{
|
136 |
if(is_array($fieldValue))
|
169 |
|
170 |
$this->getAttemptEntity()->Notes = $arrCapturedData;
|
171 |
|
172 |
+
return GdbcRequestController::isValid($this->getAttemptEntity()) ? array() : 'spam';
|
173 |
|
174 |
}
|
175 |
|
goodbye-captcha.php
CHANGED
@@ -10,7 +10,7 @@
|
|
10 |
* Plugin Name: WPBruiser
|
11 |
* Plugin URI: http://www.wpbruiser.com
|
12 |
* Description: An extremely powerful anti-spam plugin that blocks spambots without annoying captcha images.
|
13 |
-
* Version: 3.
|
14 |
* Author: Mihai Chelaru
|
15 |
* Author URI: http://www.wpbruiser.com
|
16 |
* Text Domain: wp-bruiser
|
@@ -23,7 +23,7 @@ if(!class_exists('GoodByeCaptcha', false))
|
|
23 |
{
|
24 |
class GoodByeCaptcha
|
25 |
{
|
26 |
-
CONST PLUGIN_VERSION = '3.
|
27 |
CONST PLUGIN_SLUG = 'wp-bruiser';
|
28 |
CONST PLUGIN_NAME = 'WPBruiser';
|
29 |
CONST PLUGIN_SITE_URL = 'http://www.wpbruiser.com';
|
@@ -69,6 +69,7 @@ if(!class_exists('GoodByeCaptcha', false))
|
|
69 |
|
70 |
public static function startRunning()
|
71 |
{
|
|
|
72 |
GdbcUpdatesController::updateToCurrentVersion();
|
73 |
|
74 |
$arrPluginInfo = array(
|
10 |
* Plugin Name: WPBruiser
|
11 |
* Plugin URI: http://www.wpbruiser.com
|
12 |
* Description: An extremely powerful anti-spam plugin that blocks spambots without annoying captcha images.
|
13 |
+
* Version: 3.1.1
|
14 |
* Author: Mihai Chelaru
|
15 |
* Author URI: http://www.wpbruiser.com
|
16 |
* Text Domain: wp-bruiser
|
23 |
{
|
24 |
class GoodByeCaptcha
|
25 |
{
|
26 |
+
CONST PLUGIN_VERSION = '3.1.1';
|
27 |
CONST PLUGIN_SLUG = 'wp-bruiser';
|
28 |
CONST PLUGIN_NAME = 'WPBruiser';
|
29 |
CONST PLUGIN_SITE_URL = 'http://www.wpbruiser.com';
|
69 |
|
70 |
public static function startRunning()
|
71 |
{
|
72 |
+
|
73 |
GdbcUpdatesController::updateToCurrentVersion();
|
74 |
|
75 |
$arrPluginInfo = array(
|
includes/utils/MchGdbcWpUtils.php
CHANGED
@@ -145,6 +145,22 @@ final class MchGdbcWpUtils
|
|
145 |
|
146 |
public static function getAjaxUrl()
|
147 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
$ajaxUrl = admin_url('admin-ajax.php', self::isSslRequest() ? 'admin' : 'http');
|
149 |
|
150 |
if(0 === strpos(self::getCurrentPageUrl(), 'https') && 0 !== strpos($ajaxUrl, 'https'))
|
145 |
|
146 |
public static function getAjaxUrl()
|
147 |
{
|
148 |
+
|
149 |
+
if( defined('SUNRISE_LOADED') && !function_exists('dm_redirect_admin')){ //&& MchGdbcWpUtils::isPluginNetworkActivated('/wordpress-mu-domain-mapping/domain_mapping.php')
|
150 |
+
foreach(wp_get_active_network_plugins() as $pluginName)
|
151 |
+
{
|
152 |
+
if(false === strpos($pluginName, '/domain_mapping.php'))
|
153 |
+
continue;
|
154 |
+
|
155 |
+
wp_register_plugin_realpath( $pluginName );
|
156 |
+
|
157 |
+
include_once( $pluginName );
|
158 |
+
break;
|
159 |
+
}
|
160 |
+
|
161 |
+
}
|
162 |
+
|
163 |
+
|
164 |
$ajaxUrl = admin_url('admin-ajax.php', self::isSslRequest() ? 'admin' : 'http');
|
165 |
|
166 |
if(0 === strpos(self::getCurrentPageUrl(), 'https') && 0 !== strpos($ajaxUrl, 'https'))
|
includes/vendor/MchHttp/MchGdbcIpCountryLocator.php
CHANGED
@@ -26,13 +26,13 @@ class MchGdbcIpCountryLocator
|
|
26 |
|
27 |
$dataFilePath = null;
|
28 |
|
29 |
-
if(16777216 <= $ipNumber && $ipNumber <=
|
30 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-0.dat';
|
31 |
-
elseif(
|
32 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-1.dat';
|
33 |
-
elseif(
|
34 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-2.dat';
|
35 |
-
elseif(
|
36 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-3.dat';
|
37 |
|
38 |
if(null === $dataFilePath)
|
@@ -94,7 +94,7 @@ class MchGdbcIpCountryLocator
|
|
94 |
|
95 |
$dataFilePath = null;
|
96 |
|
97 |
-
if(MchGdbcIPUtils::ipAddressToBinary('::
|
98 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv6' . DIRECTORY_SEPARATOR . 'country-ipv6-0.dat';
|
99 |
|
100 |
if(null === $dataFilePath)
|
26 |
|
27 |
$dataFilePath = null;
|
28 |
|
29 |
+
if(16777216 <= $ipNumber && $ipNumber <= 1357878193)
|
30 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-0.dat';
|
31 |
+
elseif(1357878194 <= $ipNumber && $ipNumber <= 2585330456)
|
32 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-1.dat';
|
33 |
+
elseif(2585330457 <= $ipNumber && $ipNumber <= 3389308927)
|
34 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-2.dat';
|
35 |
+
elseif(3389308928 <= $ipNumber && $ipNumber <= 3758096383)
|
36 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv4' . DIRECTORY_SEPARATOR . 'country-ipv4-3.dat';
|
37 |
|
38 |
if(null === $dataFilePath)
|
94 |
|
95 |
$dataFilePath = null;
|
96 |
|
97 |
+
if(MchGdbcIPUtils::ipAddressToBinary('2001:200::', MchGdbcIPUtils::IP_VERSION_6) <= $ipBinary && $ipBinary <= MchGdbcIPUtils::ipAddressToBinary('2c0f:fff0:ffff:ffff:ffff:ffff:ffff:ffff', MchGdbcIPUtils::IP_VERSION_6))
|
98 |
$dataFilePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'country-ips' . DIRECTORY_SEPARATOR . 'ipv6' . DIRECTORY_SEPARATOR . 'country-ipv6-0.dat';
|
99 |
|
100 |
if(null === $dataFilePath)
|
includes/vendor/MchHttp/MchGdbcTrustedIPRanges.php
CHANGED
@@ -11,7 +11,7 @@ final class MchGdbcTrustedIPRanges
|
|
11 |
?
|
12 |
self::isIPInRanges($ipAddress, $ipVersion, array(1729491968=>1729492991,1729546240=>1729547263,1730085888=>1730086911,1745879040=>1746927615,1822605312=>1822621695,2197833728=>2197834751,2372222976=>2372239359,2728263680=>2728394751,2889875456=>2890399743,2918526976=>2918531071,3161612288=>3161616383,3193827328=>3193831423,3320508416=>3320509439,3324608512=>3324641279,3340468224=>3340470271,))
|
13 |
:
|
14 |
-
self::isIPInRanges($ipAddress, $ipVersion, array('2400:cb00::/32'=>1,'2405:8100::/32'=>1,'2405:b500::/32'=>1,'2606:4700::/32'=>1,'2803:f800::/32'=>1,));
|
15 |
|
16 |
}
|
17 |
|
@@ -42,7 +42,7 @@ final class MchGdbcTrustedIPRanges
|
|
42 |
|
43 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
44 |
?
|
45 |
-
self::isIPInRanges($ipAddress, $ipVersion, array(877920256=>878051327,917897216=>917962751,918552576=>918618111,921042944=>921108479,921665536=>921690111,921731072=>921747455,3438715904=>3438717951,3438718464=>3438723071,3455827968=>3455836159,3455842560=>3455844095,3632865280=>3632873471,))
|
46 |
:
|
47 |
self::isIPInRanges($ipAddress, $ipVersion, array());
|
48 |
|
@@ -53,7 +53,7 @@ final class MchGdbcTrustedIPRanges
|
|
53 |
|
54 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
55 |
?
|
56 |
-
self::isIPInRanges($ipAddress, $ipVersion, array(387186688=>387448831,775127040=>775147519,775149568=>775159807,780730368=>780795903,839909376=>840171519,846200832=>846266367,872415232=>
|
57 |
:
|
58 |
self::isIPInRanges($ipAddress, $ipVersion, array());
|
59 |
|
@@ -64,7 +64,7 @@ final class MchGdbcTrustedIPRanges
|
|
64 |
|
65 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
66 |
?
|
67 |
-
self::isIPInRanges($ipAddress, $ipVersion, array(1076022784=>1076023039,
|
68 |
:
|
69 |
self::isIPInRanges($ipAddress, $ipVersion, array('2620:115:c000::/44'=>1,));
|
70 |
|
11 |
?
|
12 |
self::isIPInRanges($ipAddress, $ipVersion, array(1729491968=>1729492991,1729546240=>1729547263,1730085888=>1730086911,1745879040=>1746927615,1822605312=>1822621695,2197833728=>2197834751,2372222976=>2372239359,2728263680=>2728394751,2889875456=>2890399743,2918526976=>2918531071,3161612288=>3161616383,3193827328=>3193831423,3320508416=>3320509439,3324608512=>3324641279,3340468224=>3340470271,))
|
13 |
:
|
14 |
+
self::isIPInRanges($ipAddress, $ipVersion, array('2400:cb00::/32'=>1,'2405:8100::/32'=>1,'2405:b500::/32'=>1,'2606:4700::/32'=>1,'2803:f800::/32'=>1,'2c0f:f248::/32'=>1,));
|
15 |
|
16 |
}
|
17 |
|
42 |
|
43 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
44 |
?
|
45 |
+
self::isIPInRanges($ipAddress, $ipVersion, array(220200960=>220332031,875429888=>875446271,877920256=>878051327,886996992=>887029759,917897216=>917962751,918552576=>918618111,921042944=>921108479,921665536=>921690111,921731072=>921747455,3438715904=>3438717951,3438718464=>3438723071,3455827968=>3455836159,3455842560=>3455844095,3632865280=>3632873471,))
|
46 |
:
|
47 |
self::isIPInRanges($ipAddress, $ipVersion, array());
|
48 |
|
53 |
|
54 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
55 |
?
|
56 |
+
self::isIPInRanges($ipAddress, $ipVersion, array(221642752=>221773823,387186688=>387448831,583008256=>584056831,597295104=>597360639,597426176=>598212607,775127040=>775147519,775149568=>775159807,780730368=>780795903,839909376=>840171519,846200832=>846266367,872415232=>875429887,875560960=>876412927,876478464=>877330431,877395968=>877723647,878051328=>878444543,878702592=>878706175,878706432=>878706591,884998144=>885129215,885260288=>886571007,886833152=>886996991,910163968=>912261119,915406848=>917766143,917962752=>918552575,918618112=>920518655,920551424=>921042943,921174016=>921632767,921763840=>922746879,1137311744=>1137328127,1210851328=>1210859519,1264943104=>1264975871,1333592064=>1333624831,1618935808=>1618968575,1728317440=>1728319487,1796472832=>1796734975,2063122432=>2063138815,2927689728=>2927755263,2938732544=>2938765311,2954903552=>2954911743,2955018240=>2955083775,2974253056=>2974285823,3091726336=>3091857407,3098116096=>3098148863,3106961408=>3106962431,3438051328=>3438084095,3635863552=>3635867647,))
|
57 |
:
|
58 |
self::isIPInRanges($ipAddress, $ipVersion, array());
|
59 |
|
64 |
|
65 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
66 |
?
|
67 |
+
self::isIPInRanges($ipAddress, $ipVersion, array(1076022784=>1076023039,1279981696=>1279981823,1279983360=>1279983487,3221241856=>3221258239,3333780480=>3333781503,))
|
68 |
:
|
69 |
self::isIPInRanges($ipAddress, $ipVersion, array('2620:115:c000::/44'=>1,));
|
70 |
|
includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-0.dat
CHANGED
Binary file
|
includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-1.dat
CHANGED
Binary file
|
includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-2.dat
CHANGED
Binary file
|
includes/vendor/MchHttp/country-ips/ipv4/country-ipv4-3.dat
CHANGED
Binary file
|
includes/vendor/MchHttp/country-ips/ipv6/country-ipv6-0.dat
CHANGED
Binary file
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: captcha, antispam, anti-spam, spam, mailpoet, antispambot, brute force, comment spam, jetpack contact form, contact form 7, ninja forms, formidable forms, wp bruiser
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 4.6
|
7 |
-
Stable tag: 3.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -218,10 +218,22 @@ Studies shown that visual CAPTCHAs take around 5-10 seconds to complete and audi
|
|
218 |
|
219 |
|
220 |
== Upgrade Notice ==
|
221 |
-
Compatibility with
|
222 |
|
223 |
== Changelog ==
|
224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
= 3.0.15 =
|
226 |
**Improvements**
|
227 |
|
4 |
Tags: captcha, antispam, anti-spam, spam, mailpoet, antispambot, brute force, comment spam, jetpack contact form, contact form 7, ninja forms, formidable forms, wp bruiser
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 4.6
|
7 |
+
Stable tag: 3.1.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
218 |
|
219 |
|
220 |
== Upgrade Notice ==
|
221 |
+
Compatibility with MailChimp for WP version 4.0.4 and up. For those having WPBruiser protecting subscription forms built using MailChimp for WP, this update is a must.
|
222 |
|
223 |
== Changelog ==
|
224 |
|
225 |
+
= 3.1.1 =
|
226 |
+
**Fixes**
|
227 |
+
- Compatibility with MailChimp for WP version 4.0.4 and up.
|
228 |
+
|
229 |
+
= 3.1 =
|
230 |
+
**Fixes**
|
231 |
+
|
232 |
+
- Compatibility with MailChimp for WP version 4.0.6 and up
|
233 |
+
- Compatibility with WordPress MU Domain Mapping plugin
|
234 |
+
- Fixed Password reset protection for WooCommerce
|
235 |
+
- Refreshed Country IPs
|
236 |
+
|
237 |
= 3.0.15 =
|
238 |
**Improvements**
|
239 |
|