Version Description
Fixes - Compatibility with Mailchimp for WordPress - PHP 7.4 warnings
Improvements - Refreshed Country IPs - Refreshed WebAttackers IPs - Refreshed Proxy IPs - Refreshed Incapsula, Amazon and Cloudflare trusted IPs ranges
Download this release
Release Info
Developer | mihche |
Plugin | WPBruiser {no- Captcha anti-Spam} |
Version | 3.1.38 |
Comparing to | |
See all releases |
Code changes from version 3.1.37 to 3.1.38
engine/modules/mc-for-wp/GdbcMailChimpForWpPublicModule.php
CHANGED
@@ -35,14 +35,26 @@ class GdbcMailChimpForWpPublicModule extends GdbcBasePublicModule
|
|
35 |
add_filter('mc4wp_form_errors', array($this, 'validateSubscriptionRequest'), 10, 2);
|
36 |
|
37 |
|
38 |
-
add_filter('mc4wp_valid_form_request', array($this, 'validateOldSubscriptionRequest'), 10, 2);
|
39 |
|
40 |
|
41 |
//MailChimp Top Bar
|
42 |
add_action('mctb_before_submit_button', array($this, 'renderTokenFieldIntoForm'));
|
43 |
add_filter('mctb_validate', array($this, 'validateMailChimpTopBarRequest'));
|
44 |
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
public function validateMailChimpTopBarRequest($isValid)
|
@@ -61,55 +73,16 @@ class GdbcMailChimpForWpPublicModule extends GdbcBasePublicModule
|
|
61 |
|
62 |
!is_array($arrErrors) ? $arrErrors = array() : null;
|
63 |
|
64 |
-
$
|
65 |
-
|
66 |
-
if(empty($mcForm->submittedData)){
|
67 |
-
$mcForm->submittedData = @$mcForm->get_data();
|
68 |
-
}
|
69 |
-
|
70 |
|
71 |
$arrCapturedData = array();
|
72 |
-
foreach(
|
73 |
{
|
74 |
if(is_scalar($fieldValue))
|
75 |
{
|
76 |
$arrCapturedData[$fieldName] = $fieldValue;
|
77 |
continue;
|
78 |
}
|
79 |
-
// if(strtolower($fieldName) === 'address')
|
80 |
-
// {
|
81 |
-
// if(is_array($fieldValue))
|
82 |
-
// {
|
83 |
-
// $fieldValue = array_merge(array('addr1' => '','city' => '','state' => '', 'zip' => ''), $fieldValue );
|
84 |
-
// }
|
85 |
-
// elseif(is_string($fieldValue))
|
86 |
-
// {
|
87 |
-
// $arrAddress = explode(',', $fieldValue);
|
88 |
-
// $fieldValue = array(
|
89 |
-
// 'addr1' => isset($arrAddress[0]) ? $arrAddress[0] : null,
|
90 |
-
// 'city' => isset($arrAddress[1]) ? $arrAddress[1] : null,
|
91 |
-
// 'state' => isset($arrAddress[2]) ? $arrAddress[2] : null,
|
92 |
-
// 'zip' => isset($arrAddress[3]) ? $arrAddress[3] : null,
|
93 |
-
// );
|
94 |
-
// $fieldValue = array_filter($fieldValue);
|
95 |
-
// }
|
96 |
-
//
|
97 |
-
// $arrCapturedData[$fieldName] = (array)$fieldValue;
|
98 |
-
// continue;
|
99 |
-
// }
|
100 |
-
//
|
101 |
-
// if(strtoupper($fieldName) === 'INTERESTS' && is_array($fieldValue))
|
102 |
-
// {
|
103 |
-
// foreach($fieldValue as $groupId => &$groupData)
|
104 |
-
// {
|
105 |
-
// if(!is_string($groupData))
|
106 |
-
// continue;
|
107 |
-
//
|
108 |
-
// $groupData = explode(',', sanitize_text_field($groupData));
|
109 |
-
// }
|
110 |
-
//
|
111 |
-
// $arrCapturedData[$fieldName] = (array)$fieldValue;
|
112 |
-
// }
|
113 |
}
|
114 |
|
115 |
$this->getAttemptEntity()->Notes = $arrCapturedData;
|
35 |
add_filter('mc4wp_form_errors', array($this, 'validateSubscriptionRequest'), 10, 2);
|
36 |
|
37 |
|
38 |
+
//add_filter('mc4wp_valid_form_request', array($this, 'validateOldSubscriptionRequest'), 10, 2);
|
39 |
|
40 |
|
41 |
//MailChimp Top Bar
|
42 |
add_action('mctb_before_submit_button', array($this, 'renderTokenFieldIntoForm'));
|
43 |
add_filter('mctb_validate', array($this, 'validateMailChimpTopBarRequest'));
|
44 |
|
45 |
+
|
46 |
+
add_filter('mc4wp_form_data', function($arrFormData, $formObject){
|
47 |
+
|
48 |
+
$arrTokens = array(GdbcSettingsPublicModule::getInstance()->getOption(GdbcSettingsAdminModule::OPTION_HIDDEN_INPUT_NAME), GdbcRequestController::getPostedBrowserInfoInputName());
|
49 |
+
|
50 |
+
foreach($arrTokens as $token) {
|
51 |
+
unset($arrFormData[$token], $arrFormData[strtoupper($token)]);
|
52 |
+
}
|
53 |
+
|
54 |
+
return $arrFormData;
|
55 |
+
|
56 |
+
}, PHP_INT_MAX, 2);
|
57 |
+
|
58 |
}
|
59 |
|
60 |
public function validateMailChimpTopBarRequest($isValid)
|
73 |
|
74 |
!is_array($arrErrors) ? $arrErrors = array() : null;
|
75 |
|
76 |
+
$submittedData = (array)@$mcForm->get_data();
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
$arrCapturedData = array();
|
79 |
+
foreach($submittedData as $fieldName => $fieldValue)
|
80 |
{
|
81 |
if(is_scalar($fieldValue))
|
82 |
{
|
83 |
$arrCapturedData[$fieldName] = $fieldValue;
|
84 |
continue;
|
85 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
$this->getAttemptEntity()->Notes = $arrCapturedData;
|
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.1.
|
14 |
* Author: Mihai Chelaru
|
15 |
* Author URI: http://www.wpbruiser.com
|
16 |
* Text Domain: wp-bruiser
|
@@ -24,7 +24,7 @@ if(!class_exists('GoodByeCaptcha', false))
|
|
24 |
class GoodByeCaptcha
|
25 |
{
|
26 |
|
27 |
-
CONST PLUGIN_VERSION = '3.1.
|
28 |
CONST PLUGIN_SLUG = 'wp-bruiser';
|
29 |
CONST PLUGIN_NAME = 'WPBruiser';
|
30 |
CONST PLUGIN_SITE_URL = 'https://www.wpbruiser.com';
|
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.38
|
14 |
* Author: Mihai Chelaru
|
15 |
* Author URI: http://www.wpbruiser.com
|
16 |
* Text Domain: wp-bruiser
|
24 |
class GoodByeCaptcha
|
25 |
{
|
26 |
|
27 |
+
CONST PLUGIN_VERSION = '3.1.38';
|
28 |
CONST PLUGIN_SLUG = 'wp-bruiser';
|
29 |
CONST PLUGIN_NAME = 'WPBruiser';
|
30 |
CONST PLUGIN_SITE_URL = 'https://www.wpbruiser.com';
|
includes/utils/MchGdbcIPUtils.php
CHANGED
@@ -195,25 +195,27 @@ final class MchGdbcIPUtils
|
|
195 |
|
196 |
private static function ipV6FromBinary($binaryString)
|
197 |
{
|
198 |
-
// return preg_replace( array('/(?::?\b0+\b:?){2,}/', '/\b0+([^0])/e'),
|
199 |
-
// array('::', '(int)"$1"?"$1":"0$1"'),
|
200 |
-
// substr(chunk_split(bin2hex($binaryString), 4, ':'), 0, -1));
|
201 |
-
|
202 |
-
|
203 |
$ip = bin2hex($binaryString);
|
204 |
$ip = substr(chunk_split($ip, 4, ':'), 0, -1);
|
205 |
$ip = explode(':', $ip);
|
206 |
$res = '';
|
207 |
|
208 |
-
foreach($ip as $index => $seg)
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
|
|
|
|
|
|
|
|
|
|
213 |
$res .= $seg;
|
214 |
if ($index < count($ip) - 1)
|
215 |
$res .= $res == '' ? '' : ':';
|
216 |
-
}
|
|
|
|
|
217 |
if (strpos($res, '::') === false)
|
218 |
$res .= ':';
|
219 |
|
195 |
|
196 |
private static function ipV6FromBinary($binaryString)
|
197 |
{
|
|
|
|
|
|
|
|
|
|
|
198 |
$ip = bin2hex($binaryString);
|
199 |
$ip = substr(chunk_split($ip, 4, ':'), 0, -1);
|
200 |
$ip = explode(':', $ip);
|
201 |
$res = '';
|
202 |
|
203 |
+
foreach($ip as $index => $seg)
|
204 |
+
{
|
205 |
+
if(isset($seg [0]))
|
206 |
+
{
|
207 |
+
while ($seg[0] == '0')
|
208 |
+
$seg = substr($seg, 1);
|
209 |
+
}
|
210 |
+
|
211 |
+
if ($seg != '')
|
212 |
+
{
|
213 |
$res .= $seg;
|
214 |
if ($index < count($ip) - 1)
|
215 |
$res .= $res == '' ? '' : ':';
|
216 |
+
}
|
217 |
+
else
|
218 |
+
{
|
219 |
if (strpos($res, '::') === false)
|
220 |
$res .= ':';
|
221 |
|
includes/vendor/MchHttp/MchGdbcTrustedIPRanges.php
CHANGED
@@ -42,7 +42,7 @@ final class MchGdbcTrustedIPRanges
|
|
42 |
|
43 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
44 |
?
|
45 |
-
self::isIPInRanges($ipAddress, $ipVersion, array(65470976=>65471103,220200960=>220332031,220397568=>220463103,221563904=>221564415,221659008=>221659071,222034432=>222034495,225561344=>225561599,226281216=>226281471,231883648=>231883711,232783872=>233046015,233063680=>233063935,234422272=>234487807,315151360=>315151871,316189312=>316189439,583269376=>583269631,584594176=>584594303,585043168=>585043199,585060544=>585060607,585240064=>585240319,585671632=>585671639,597592064=>597592319,597835712=>597835775,598196096=>598196159,873430912=>873430975,875429888=>875446271,875531008=>875531263,875872128=>875872191,876117760=>876117887,876215808=>876216063,876790400=>876790463,877590400=>877590463,877821952=>877830143,877920256=>878051327,880574464=>880607231,885489600=>885489663,886372352=>886372415,886882048=>886882111,886996992=>887029759,917897216=>917962751,918552576=>918618111,921042944=>921108479,921304960=>921305023,921665536=>921690111,921731072=>921747455,1090273280=>1090306047,1183055872=>1183072255,1201143808=>1201176575,1666164736=>1666165247,1666449408=>1666514943,1666580480=>1666646015,2192572416=>2192637951,2412511232=>2412576767,2430337024=>2430402559,3438715904=>3438723071,
|
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(50331648=>50462719,50659328=>50665471,50692096=>50693631,50712576=>50714111,50724864=>52166655,52559872=>52690943,55574528=>56623103,56950784=>57016319,57147392=>57409535,57671680=>57933823,58195968=>59768831,63963136=>66060287,66584576=>67108863,221249536=>221380607,221511680=>222035967,225443840=>225705983,226230272=>226492415,231735296=>231997439,233046016=>233832447,234094592=>234225663,234487808=>234618879,262406144=>262537215,263258112=>263281151,263281408=>263281663,263782400=>263847935,263979008=>264044543,264306688=>264308735,264765440=>264830975,265158656=>265289727,266207232=>266338303,267124736=>267255807,310509568=>310575103,310640640=>310968319,311033856=>311558143,312016896=>312082431,312213504=>312475647,312606720=>312737791,312868864=>312999935,313458688=>314179583,314310656=>317587455,318111744=>318177279,318504960=>318636031,387186688=>387448831,583008256=>587202559,597229568=>599261183,750780416=>754974719,775127040=>775147519,775149568=>775159807,780730368=>780795903,839909376=>840171519,846200832=>846266367,872415232=>875429887,875475968=>875478015,875495424=>877821951,877831168=>877832463,877834240=>877836799,877854720=>877920255,878051328=>878444543,878605312=>878606335,878627072=>878627135,878639104=>878639343,878639392=>878639407,878639424=>878639551,878698752=>878700287,878702336=>878706591,880266496=>880266751,884998144=>886571007,886833152=>886996991,910163968=>912261119,915406848=>917897215,917962752=>918552575,918618112=>920518655,920526848=>920528895,920531968=>920532991,920533536=>920533551,920533760=>920534015,920535040=>920535551,920551424=>921042943,921174016=>921632767,921702656=>921702911,921763840=>922746879,1059061760=>1059323903,1137311744=>1137328127,1189134336=>1189150719,1210851328=>1210859519,1264943104=>1264975871,1333592064=>1333624831,1618935808=>1618968575,1666023424=>1666025983,1666026240=>1666028031,1666028288=>1666029311,1666039552=>1666039807,1666053888=>1666054143,1666054656=>1666054911,1666055424=>1666055935,1666121728=>1666318335,1679032320=>1679818751,1728317440=>1728319487,1796472832=>1796734975,1820327936=>1820852223,2063122432=>2063138815,2360541184=>2360606719,2645491712=>2645557247,2684420096=>2684485631,2713518080=>2713583615,2731927552=>2731928575,2734353408=>2734354431,2927689728=>2927755263,2938732544=>2938765311,2954903552=>2954911743,2955018240=>2955083775,2974253056=>2974285823,3091726336=>3091857407,3098116096=>3098148863,3106961408=>3106962431,3438051328=>3438084095,3495319552=>3495320575,3635863552=>3635867647,))
|
57 |
:
|
58 |
self::isIPInRanges($ipAddress, $ipVersion, array());
|
59 |
|
42 |
|
43 |
return ( $ipVersion === MchGdbcIPUtils::IP_VERSION_4 )
|
44 |
?
|
45 |
+
self::isIPInRanges($ipAddress, $ipVersion, array(65470976=>65471103,65726688=>65726719,220200960=>220332031,220397568=>220463103,221563904=>221564415,221659008=>221659071,222034432=>222034495,225561344=>225561599,226281216=>226281471,231883648=>231883711,232783872=>233046015,233063680=>233063935,234422272=>234487807,315151360=>315151871,316189312=>316189439,583269376=>583269631,584594176=>584594303,585043168=>585043199,585060544=>585060607,585240064=>585240319,585671632=>585671639,597592064=>597592319,597835712=>597835775,598196096=>598196159,873430912=>873430975,875429888=>875446271,875531008=>875531263,875872128=>875872191,876117760=>876117887,876215808=>876216063,876790400=>876790463,877590400=>877590463,877821952=>877830143,877920256=>878051327,880574464=>880607231,885489600=>885489663,886372352=>886372415,886882048=>886882111,886996992=>887029759,917897216=>917962751,918552576=>918618111,921042944=>921108479,921304960=>921305023,921665536=>921690111,921731072=>921747455,1090273280=>1090306047,1183055872=>1183072255,1201143808=>1201176575,1666164736=>1666165247,1666449408=>1666514943,1666580480=>1666646015,2192572416=>2192637951,2412511232=>2412576767,2430337024=>2430402559,3438715904=>3438723071,3455830016=>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(50331648=>50462719,50659328=>50665471,50692096=>50693631,50712576=>50714111,50724864=>52166655,52559872=>52690943,55574528=>56623103,56950784=>57016319,57147392=>57409535,57671680=>57933823,58195968=>59768831,63963136=>66060287,66584576=>67108863,221249536=>221380607,221511680=>222035967,225443840=>225705983,226230272=>226492415,231735296=>231997439,233046016=>233832447,234094592=>234225663,234487808=>234618879,262406144=>262537215,263258112=>263281151,263281408=>263281663,263782400=>263847935,263979008=>264044543,264306688=>264308735,264765440=>264830975,265158656=>265289727,266207232=>266338303,267124736=>267255807,310509568=>310575103,310640640=>310968319,311033856=>311558143,312016896=>312082431,312213504=>312475647,312606720=>312737791,312868864=>312999935,313458688=>314179583,314310656=>317587455,318111744=>318177279,318504960=>318636031,387186688=>387448831,583008256=>587202559,597229568=>599261183,750780416=>754974719,775127040=>775147519,775149568=>775159807,780730368=>780795903,839909376=>840171519,846200832=>846266367,872415232=>875429887,875475968=>875478015,875495424=>877821951,877831168=>877832463,877834240=>877836799,877854720=>877920255,878051328=>878444543,878605312=>878606335,878627072=>878627135,878639104=>878639343,878639392=>878639407,878639424=>878639551,878698752=>878700287,878702336=>878706591,880266496=>880266751,884998144=>886571007,886833152=>886996991,910163968=>912261119,915406848=>917897215,917962752=>918552575,918618112=>920518655,920526848=>920528895,920531968=>920532991,920533536=>920533551,920533760=>920534015,920535040=>920535551,920551424=>921042943,921174016=>921632767,921702656=>921702911,921763840=>922746879,1059061760=>1059323903,1090273280=>1090273535,1137311744=>1137328127,1189134336=>1189150719,1210851328=>1210859519,1264943104=>1264975871,1333592064=>1333624831,1618935808=>1618968575,1666023424=>1666025983,1666026240=>1666028031,1666028288=>1666029311,1666039552=>1666039807,1666053888=>1666054143,1666054656=>1666054911,1666055424=>1666055935,1666121728=>1666318335,1679032320=>1679818751,1728317440=>1728319487,1796472832=>1796734975,1820327936=>1820852223,2063122432=>2063138815,2360541184=>2360606719,2645491712=>2645557247,2684420096=>2684485631,2713518080=>2713583615,2731927552=>2731928575,2734353408=>2734354431,2927689728=>2927755263,2938732544=>2938765311,2954903552=>2954911743,2955018240=>2955083775,2974253056=>2974285823,3091726336=>3091857407,3098116096=>3098148863,3106961408=>3106962431,3438051328=>3438084095,3495319552=>3495320575,3635863552=>3635867647,))
|
57 |
:
|
58 |
self::isIPInRanges($ipAddress, $ipVersion, array());
|
59 |
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: mihche
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XVC3TSGEJQP2U
|
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: 4.0
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 3.1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -222,6 +222,18 @@ Studies shown that visual CAPTCHAs take around 5-10 seconds to complete and audi
|
|
222 |
|
223 |
== Changelog ==
|
224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
= 3.1.37 =
|
226 |
**Improvements**
|
227 |
- Refreshed Country IPs
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XVC3TSGEJQP2U
|
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: 4.0
|
6 |
+
Tested up to: 5.4
|
7 |
+
Stable tag: 3.1.38
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
222 |
|
223 |
== Changelog ==
|
224 |
|
225 |
+
= 3.1.38 =
|
226 |
+
**Fixes**
|
227 |
+
- Compatibility with Mailchimp for WordPress
|
228 |
+
- PHP 7.4 warnings
|
229 |
+
|
230 |
+
**Improvements**
|
231 |
+
- Refreshed Country IPs
|
232 |
+
- Refreshed WebAttackers IPs
|
233 |
+
- Refreshed Proxy IPs
|
234 |
+
- Refreshed Incapsula, Amazon and Cloudflare trusted IPs ranges
|
235 |
+
|
236 |
+
|
237 |
= 3.1.37 =
|
238 |
**Improvements**
|
239 |
- Refreshed Country IPs
|