WPBruiser {no- Captcha anti-Spam} - Version 3.1.38

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 Icon 128x128 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
- $mcForm->submittedData = !empty($mcForm->data) ? $mcForm->data : array();
65
-
66
- if(empty($mcForm->submittedData)){
67
- $mcForm->submittedData = @$mcForm->get_data();
68
- }
69
-
70
 
71
  $arrCapturedData = array();
72
- foreach((array)$mcForm->submittedData as $fieldName => $fieldValue)
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.37
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.37';
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
- while ($seg {0} == '0')
210
- $seg = substr($seg, 1);
211
-
212
- if ($seg != '') {
 
 
 
 
 
213
  $res .= $seg;
214
  if ($index < count($ip) - 1)
215
  $res .= $res == '' ? '' : ':';
216
- } else {
 
 
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,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(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.3.2
7
- Stable tag: 3.1.37
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