Spam protection, AntiSpam, FireWall by CleanTalk - Version 5.40.2

Version Description

2016-05-11 = * Improved account status check logic. * Fixed issue with double anti-spam tests for FastSecure contact forms. * Fixed issue with nulled JavaScript variables assigned from backend. This issue might me occured on standart WordPress registration form and with failed JavaScript spam test. * Fixed issue with session_start() with PHP sessions stored in memcache.

Download this release

Release Info

Developer shagimuratov
Plugin Icon 128x128 Spam protection, AntiSpam, FireWall by CleanTalk
Version 5.40.2
Comparing to
See all releases

Code changes from version 5.40.1 to 5.40.2

cleantalk.php CHANGED
@@ -3,12 +3,12 @@
3
  Plugin Name: Anti-Spam by CleanTalk
4
  Plugin URI: http://cleantalk.org
5
  Description: Max power, all-in-one, captcha less, premium anti-spam plugin. No comment spam, no registration spam, no contact spam, protects any WordPress forms.
6
- Version: 5.40.1
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
- $cleantalk_plugin_version='5.40.1';
11
- $ct_agent_version = 'wordpress-5401';
12
  $cleantalk_executed=false;
13
  $ct_sfw_updated = false;
14
 
3
  Plugin Name: Anti-Spam by CleanTalk
4
  Plugin URI: http://cleantalk.org
5
  Description: Max power, all-in-one, captcha less, premium anti-spam plugin. No comment spam, no registration spam, no contact spam, protects any WordPress forms.
6
+ Version: 5.40.2
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
+ $cleantalk_plugin_version='5.40.2';
11
+ $ct_agent_version = 'wordpress-5402';
12
  $cleantalk_executed=false;
13
  $ct_sfw_updated = false;
14
 
inc/cleantalk-admin.php CHANGED
@@ -98,7 +98,7 @@ function ct_admin_add_page() {
98
  */
99
  function ct_admin_init()
100
  {
101
- global $ct_server_timeout, $show_ct_notice_autokey, $ct_notice_autokey_label, $ct_notice_autokey_value, $show_ct_notice_renew, $ct_notice_renew_label, $show_ct_notice_trial, $ct_notice_trial_label, $show_ct_notice_online, $ct_notice_online_label, $renew_notice_showtime, $trial_notice_showtime, $ct_plugin_name, $ct_options, $ct_data, $trial_notice_check_timeout, $account_notice_check_timeout, $ct_user_token_label, $cleantalk_plugin_version, $notice_check_timeout;
102
 
103
  $ct_options = ct_get_options();
104
  $ct_data = ct_get_data();
@@ -219,7 +219,7 @@ function ct_admin_init()
219
  isset($_POST['cleantalk_settings']['apikey']))
220
  {
221
  $result = false;
222
-
223
  //if (true)
224
  //{
225
  if(!function_exists('noticePaidTill'))
@@ -257,7 +257,7 @@ function ct_admin_init()
257
  }
258
  if ($result['show_notice'] == 1 && isset($result['renew']) && $result['renew'] == 1)
259
  {
260
- $notice_check_timeout = $account_notice_check_timeout;
261
  $show_ct_notice_renew = true;
262
  $ct_data['show_ct_notice_renew']=1;
263
  }
@@ -265,9 +265,9 @@ function ct_admin_init()
265
  if ($result['show_notice'] == 0)
266
  {
267
  $notice_check_timeout = $account_notice_check_timeout;
268
- $ct_data['show_ct_notice_trial']=0;
269
- $ct_data['show_ct_notice_renew']=0;
270
  }
 
 
271
  }
272
 
273
  if (isset($result['moderate_ip']) && $result['moderate_ip'] == 1)
@@ -286,9 +286,8 @@ function ct_admin_init()
286
  $ct_data['user_token'] = $result['user_token'];
287
  }
288
  }
289
-
290
  // Save next status request time
291
- $ct_data['next_account_status_check'] = time()+86400;
292
  update_option('cleantalk_data', $ct_data);
293
  //}
294
 
@@ -906,7 +905,7 @@ function ct_input_set_cookies() {
906
  echo "<input type='radio' id='cleantalk_set_cookies1' name='cleantalk_settings[set_cookies]' value='1' " . ($value == '1' ? 'checked' : '') . " /><label for='cleantalk_set_cookies1'> " . __('Yes') . "</label>";
907
  echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
908
  echo "<input type='radio' id='cleantalk_set_cookies0' name='cleantalk_settings[set_cookies]' value='0' " . ($value == '0' ? 'checked' : '') . " /><label for='cleantalk_set_cookies0'> " . __('No') . "</label>";
909
- @admin_addDescriptionsFields(sprintf(__('Turn this option off to deny plugin generates any cookies on website fronentd. This option is helpfull if you use Varnish. But most of contact forms will not be protected by CleanTalk if the option is turnded off!', 'cleantalk')));
910
  }
911
 
912
  function ct_input_show_link() {
98
  */
99
  function ct_admin_init()
100
  {
101
+ global $ct_server_timeout, $show_ct_notice_autokey, $ct_notice_autokey_label, $ct_notice_autokey_value, $show_ct_notice_renew, $ct_notice_renew_label, $show_ct_notice_trial, $ct_notice_trial_label, $show_ct_notice_online, $ct_notice_online_label, $renew_notice_showtime, $trial_notice_showtime, $ct_plugin_name, $ct_options, $ct_data, $trial_notice_check_timeout, $account_notice_check_timeout, $ct_user_token_label, $cleantalk_plugin_version, $notice_check_timeout, $renew_notice_check_timeout;
102
 
103
  $ct_options = ct_get_options();
104
  $ct_data = ct_get_data();
219
  isset($_POST['cleantalk_settings']['apikey']))
220
  {
221
  $result = false;
222
+ $notice_check_timeout = $account_notice_check_timeout;
223
  //if (true)
224
  //{
225
  if(!function_exists('noticePaidTill'))
257
  }
258
  if ($result['show_notice'] == 1 && isset($result['renew']) && $result['renew'] == 1)
259
  {
260
+ $notice_check_timeout = $renew_notice_check_timeout;
261
  $show_ct_notice_renew = true;
262
  $ct_data['show_ct_notice_renew']=1;
263
  }
265
  if ($result['show_notice'] == 0)
266
  {
267
  $notice_check_timeout = $account_notice_check_timeout;
 
 
268
  }
269
+ $ct_data['show_ct_notice_trial']=(int) $show_ct_notice_trial;
270
+ $ct_data['show_ct_notice_renew']= (int) $show_ct_notice_renew;
271
  }
272
 
273
  if (isset($result['moderate_ip']) && $result['moderate_ip'] == 1)
286
  $ct_data['user_token'] = $result['user_token'];
287
  }
288
  }
 
289
  // Save next status request time
290
+ $ct_data['next_account_status_check'] = time() + $notice_check_timeout * 3600;
291
  update_option('cleantalk_data', $ct_data);
292
  //}
293
 
905
  echo "<input type='radio' id='cleantalk_set_cookies1' name='cleantalk_settings[set_cookies]' value='1' " . ($value == '1' ? 'checked' : '') . " /><label for='cleantalk_set_cookies1'> " . __('Yes') . "</label>";
906
  echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
907
  echo "<input type='radio' id='cleantalk_set_cookies0' name='cleantalk_settings[set_cookies]' value='0' " . ($value == '0' ? 'checked' : '') . " /><label for='cleantalk_set_cookies0'> " . __('No') . "</label>";
908
+ @admin_addDescriptionsFields(sprintf(__('Turn this option off to deny plugin generates any cookies on website front-end. This option is helpful if you use Varnish. But most of contact forms will not be protected by CleanTalk if the option is turned off!', 'cleantalk')));
909
  }
910
 
911
  function ct_input_show_link() {
inc/cleantalk-common.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- $ct_plugin_name = 'CleanTalk Spam Protect';
4
  $ct_checkjs_frm = 'ct_checkjs_frm';
5
  $ct_checkjs_register_form = 'ct_checkjs_register_form';
6
  $ct_session_request_id_label = 'request_id';
@@ -52,6 +52,9 @@ $trial_notice_check_timeout = 1;
52
  // Timeout before new check account notice in hours
53
  $account_notice_check_timeout = 24;
54
 
 
 
 
55
  // Trial notice show time in minutes
56
  $trial_notice_showtime = 10;
57
 
@@ -114,7 +117,7 @@ function ct_init_session() {
114
  $result = @session_start();
115
  if(!$result){
116
  session_regenerate_id(true); // replace the Session ID, bug report https://bugs.php.net/bug.php?id=68063
117
- session_start();
118
  }
119
  }
120
 
1
  <?php
2
 
3
+ $ct_plugin_name = 'Anti-Spam by CleanTalk';
4
  $ct_checkjs_frm = 'ct_checkjs_frm';
5
  $ct_checkjs_register_form = 'ct_checkjs_register_form';
6
  $ct_session_request_id_label = 'request_id';
52
  // Timeout before new check account notice in hours
53
  $account_notice_check_timeout = 24;
54
 
55
+ // Timeout before new check account notice in hours
56
+ $renew_notice_check_timeout = 1;
57
+
58
  // Trial notice show time in minutes
59
  $trial_notice_showtime = 10;
60
 
117
  $result = @session_start();
118
  if(!$result){
119
  session_regenerate_id(true); // replace the Session ID, bug report https://bugs.php.net/bug.php?id=68063
120
+ @session_start();
121
  }
122
  }
123
 
inc/cleantalk-public.php CHANGED
@@ -1488,7 +1488,7 @@ function ct_si_contact_display_after_fields($string = '', $style = '', $form_err
1488
  * Test for Fast Secure contact form
1489
  */
1490
  function ct_si_contact_form_validate($form_errors = array(), $form_id_num = 0) {
1491
- global $ct_options, $ct_data;
1492
 
1493
  $ct_options = ct_get_options();
1494
  $ct_data = ct_get_data();
@@ -1498,6 +1498,13 @@ function ct_si_contact_form_validate($form_errors = array(), $form_id_num = 0) {
1498
 
1499
  if ($ct_options['contact_forms_test'] == 0)
1500
  return $form_errors;
 
 
 
 
 
 
 
1501
  $sender_info='';
1502
 
1503
  $checkjs = js_test('ct_checkjs', $_POST, true);
@@ -1532,6 +1539,8 @@ function ct_si_contact_form_validate($form_errors = array(), $form_id_num = 0) {
1532
  ));
1533
  $ct = $ct_base_call_result['ct'];
1534
  $ct_result = $ct_base_call_result['ct_result'];
 
 
1535
 
1536
  if ($ct_result->spam == 1) {
1537
  global $ct_comment;
1488
  * Test for Fast Secure contact form
1489
  */
1490
  function ct_si_contact_form_validate($form_errors = array(), $form_id_num = 0) {
1491
+ global $ct_options, $ct_data, $cleantalk_executed;
1492
 
1493
  $ct_options = ct_get_options();
1494
  $ct_data = ct_get_data();
1498
 
1499
  if ($ct_options['contact_forms_test'] == 0)
1500
  return $form_errors;
1501
+
1502
+ // Skip processing because data already processed.
1503
+ if ($cleantalk_executed) {
1504
+ return $form_errors;
1505
+ }
1506
+
1507
+
1508
  $sender_info='';
1509
 
1510
  $checkjs = js_test('ct_checkjs', $_POST, true);
1539
  ));
1540
  $ct = $ct_base_call_result['ct'];
1541
  $ct_result = $ct_base_call_result['ct_result'];
1542
+
1543
+ $cleantalk_executed = true;
1544
 
1545
  if ($ct_result->spam == 1) {
1546
  global $ct_comment;
inc/cleantalk_nocache.js CHANGED
@@ -1,3 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
1
  function sendRequest(url,callback,postData) {
2
  var req = createXMLHTTPObject();
3
  if (!req) return;
@@ -121,7 +132,7 @@ if(ct_nocache_executed==undefined)
121
  }
122
  }
123
 
124
- if(old_timestamp==undefined||new_timestamp-old_timestamp>86400||checkjs_cookie==undefined) //86400 is 24 hours
125
  {
126
  ct_setCookie('ct_timestamp', new_timestamp);
127
  sendRequest(ct_ajaxurl+'?'+Math.random(),ct_callback,'action=ct_get_cookie');
1
+ /*
2
+ Assign default values for backend variables.
3
+ */
4
+ if (typeof ct_set_cookies_flag === 'undefined') {
5
+ ct_set_cookies_flag = true;
6
+ }
7
+
8
+ if (typeof ct_ajaxurl === 'undefined') {
9
+ ct_ajaxurl = '/wp-admin/admin-ajax.php';
10
+ }
11
+
12
  function sendRequest(url,callback,postData) {
13
  var req = createXMLHTTPObject();
14
  if (!req) return;
132
  }
133
  }
134
 
135
+ if((old_timestamp==undefined||new_timestamp-old_timestamp>86400||checkjs_cookie==undefined)) //86400 is 24 hours
136
  {
137
  ct_setCookie('ct_timestamp', new_timestamp);
138
  sendRequest(ct_ajaxurl+'?'+Math.random(),ct_callback,'action=ct_get_cookie');
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
2
  Contributors: znaeff, shagimuratov
3
- Tags: anti-spam, antispam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spam, spammers, spammy, woocommerce, wordpress spam, booking, order, subscription, gravity spam, jetpack, bots, contact form 7, contact form, registrations, ninja, Fast Secure Contact, Gravity forms, formidable, mailchimp, s2member, protection, protect, email, akismet, plugin, contact, recaptcha, google captcha, google recaptcha, math, security, login, blacklist, prevent spam comments, wordpress, User Frontend, bulk delete, bulk remove, cloudflare, widget, review, auth forms, firewall, ddos, cleantalk, mailpoet, profile builder, comment spam, registration spam, spam comments, comment moderation, spam bots, block spam, signup spam, spam blocker, spam filter, user registration spam,pingback,trackback, spam trackbacks, anti-spam plugin, varnish, amp, spam free,cache, cdn
4
  Requires at least: 3.0
5
- Tested up to: 4.5
6
- Stable tag: 5.40.1
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -183,7 +183,7 @@ Audience engagement plugin <a href="http://wordpress.org/plugins/feedweb/">Feedw
183
  > Max power, all-in-one, premium anti-spam WordPress plugin. No comments & registrations spam, no contact spam, protects any forms. Just install and forget spam.
184
 
185
  == Installation ==
186
- = Setup anti spam plugin =
187
  1. Download, install and activate Anti-spam by CleanTalk.
188
  1. Get Access key <a href="https://cleantalk.org/register?platform=wordpress" target="_blank">https://cleantalk.org/register</a>
189
  1. Enter Access key in the settings,
@@ -211,27 +211,27 @@ Go to <a href="https://cleantalk.org/my" target="_blank">Dashboard</a> at the cl
211
 
212
  == Frequently Asked Questions ==
213
 
214
- = Does the plugin protects against brute force, DoS attacks as well as against spam attacks? =
215
- No, it doesn't. Anti-spam by CleanTalk **is only anti-spam solution** for comments, registrations and other other forms on a website. Plugin saves your time against manage spam problem, but doesn't protect against any security issues.
216
 
217
- = Does anti spam protection safe for mobile visitors? =
218
- Yes, it does. Plugin doesn't block mobile visitors as well as desktop websites visitors. Because this plugin uses several anti-spam tests to detect spam bots and lower false/positive rate. Multiple anti-spam tests helps avoid false/positive blocks for real website visitors even if one of tests failed.
219
 
220
- = How does the plugin work with spam comments? =
221
- Spam comments moves to SPAM folder or you can set option to silent ban spam comments.
222
 
223
  = How does the plugin stop spam? =
224
- Plugin uses several simple tests to stop spammers.
225
 
226
- 1. JavaScript anti-spam test. 99% spam bots doesn't have all JavaScript functions support. So, the plugin has code which can run normal visitor and can't run the spam bot.
227
- 1. Checks by Email, IP, domains at spam activities list. The plugin online use spam activity database at cleantalk.org, which are consist more then 1 billion records about spam activity IPs, Email, Domains and ASN. If the senders IP or Email matches with database, the sender gets some spam scores. To reduce false/positive rate the plugin doesn't use only blacklist test to ban spammers. The sender will be banned only if multiple spam test failed.
228
- 1. Comment submit time. Spam bots usually send post immediately after page load, because spam bots not really fill the web form, they are only send $_POST data to the blog. The normal visitor sends the data within several seconds or minutes.
229
 
230
- = Will anti-spam protects my theme? =
231
- Yes, it will. The Anti-spam by CleanTalk compatible with any WordPress themes.
232
 
233
- = How can I test anti-spam protection? =
234
- Please use email **stop_email@example.com** for comments, contacts or signups to see how the anti-spam protection works. Also you can see logs for last 7 days at <a href="http://cleantalk.org/my/show_requests">Control panel</a> or look at folder "Spam" for banned comments.
235
 
236
  = Is the plugin effective against spam bots? =
237
  Plugin Anti-spam by CleanTalk stops up to 99.998% of spam comments, spam signups (registrations), spam contact emails, spam subscriptions, spam bookings or spam orders.
@@ -464,6 +464,20 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
464
  1. CleanTalk works faster than most of other anti-spam plugins.
465
 
466
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
467
  = 5.40.1 2016-04-28 =
468
  * Fixed issue with Super Socializer.
469
  * Fixed issue with spam filtration for logged in users and Formidable forms.
@@ -1035,6 +1049,20 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
1035
  * First version
1036
 
1037
  == Upgrade Notice ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1038
  = 5.40.1 2016-04-28 =
1039
  * Fixed issue with Super Socializer.
1040
  * Fixed issue with spam filtration for logged in users and Formidable forms.
1
  === Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
2
  Contributors: znaeff, shagimuratov
3
+ Tags: spam, anti-spam, antispam, anti spam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spammers, spammy, woocommerce, wordpress spam, booking, order, subscription, gravity spam, jetpack, bots, contact form 7, contact form, registrations, ninja, Fast Secure Contact, Gravity forms, formidable, mailchimp, s2member, protection, protect, email, akismet, plugin, contact, recaptcha, google captcha, google recaptcha, math, security, login, blacklist, prevent spam comments, wordpress, User Frontend, bulk delete, bulk remove, cloudflare, widget, review, auth forms, firewall, ddos, cleantalk, mailpoet, profile builder, comment spam, registration spam, spam comments, comment moderation, spam bots, block spam, signup spam, spam blocker, spam filter, user registration spam,pingback,trackback, spam trackbacks, anti-spam plugin, varnish, amp, spam free
4
  Requires at least: 3.0
5
+ Tested up to: 4.5.2
6
+ Stable tag: 5.40.3
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
183
  > Max power, all-in-one, premium anti-spam WordPress plugin. No comments & registrations spam, no contact spam, protects any forms. Just install and forget spam.
184
 
185
  == Installation ==
186
+ = Spam protection plugin setup =
187
  1. Download, install and activate Anti-spam by CleanTalk.
188
  1. Get Access key <a href="https://cleantalk.org/register?platform=wordpress" target="_blank">https://cleantalk.org/register</a>
189
  1. Enter Access key in the settings,
211
 
212
  == Frequently Asked Questions ==
213
 
214
+ = Does the plugin protect against brute force, DoS attacks as well as against spam attacks? =
215
+ No, it doesn't. Anti-spam by CleanTalk **is anti-spam solution** for comments, registrations and other other forms on a website only. The plugin saves your time in managing spam problems, but doesn't protect against any security issues.
216
 
217
+ = Is the anti-spam protection safe for mobile visitors? =
218
+ Yes, it does is. The plugin doesn't block mobile visitors as well as desktop website visitors. It uses several independent anti-spam tests to decrease the number of false outcomes and to have as low false-positive rate as possible. Multiple anti-spam tests help to avoid false/positive blocks for real website visitors even if one of the tests failed.
219
 
220
+ = What does the plugin do with spam comments? =
221
+ Spam comments are being moved to SPAM folder or you can set the option to ban spam comments silently.
222
 
223
  = How does the plugin stop spam? =
224
+ The plugin uses several simple tests to stop spammers.
225
 
226
+ 1. JavaScript anti-spam test. 99% of spam bots don't have full JavaScript functions support. So, the plugin has the code which can be run by normal visitor and can't by run by the spam bot.
227
+ 1. Email, IP, domain spam activity list entries check. The plugin online uses spam activity database online at cleantalk.org, consisting of more than 20 billion spam activity records from IPs, Email, Domains and ASN. If the sender's IP or Email is in the database, the sender gets some spam scores. To reduce false/positive rate the plugin not only uses the blacklist test to ban spammers. The sender will be banned when and only when multiple spam tests have been failed.
228
+ 1. Comment submit time. Spam bots usually submit the info immediately after the page has been loaded, this happens because spam bots don't actually fill the web form, they send $_POST data to the blog only. The normal visitor sends the data after several seconds or minutes.
229
 
230
+ = Will this anti-spam plugin protect my theme? =
231
+ Yes, it will. The Anti-spam by CleanTalk is compatible with any WordPress theme.
232
 
233
+ = How can I test the anti-spam protection? =
234
+ Please use the email **stop_email@example.com** for comments, contacts or signups to see how the anti-spam protection works. Also you can see the logs for the last 7 days at the <a href="http://cleantalk.org/my/show_requests">Control panel</a> or look at the folder "Spam" for banned comments.
235
 
236
  = Is the plugin effective against spam bots? =
237
  Plugin Anti-spam by CleanTalk stops up to 99.998% of spam comments, spam signups (registrations), spam contact emails, spam subscriptions, spam bookings or spam orders.
464
  1. CleanTalk works faster than most of other anti-spam plugins.
465
 
466
  == Changelog ==
467
+ = 5.40.3 2016-05-26 =
468
+ * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
469
+ * Added JSON encoding for AJAX forms.
470
+ * Obfuscated private data for Custom contact forms option.
471
+ * Optimized bulk users check for spam over blacklists database.
472
+ * Fixed issue with lost connection to servers and JavaScript anti-spam test.
473
+ * Fixed issue with WordFence and collect_details.
474
+
475
+ = 5.40.2 2016-05-11 =
476
+ * Improved account status check logic.
477
+ * Fixed issue with double anti-spam tests for FastSecure contact forms.
478
+ * Fixed issue with nulled JavaScript variables assigned from backend. This issue might me occured on standart WordPress registration form and with failed JavaScript spam test.
479
+ * Fixed issue with session_start() with PHP sessions stored in memcache.
480
+
481
  = 5.40.1 2016-04-28 =
482
  * Fixed issue with Super Socializer.
483
  * Fixed issue with spam filtration for logged in users and Formidable forms.
1049
  * First version
1050
 
1051
  == Upgrade Notice ==
1052
+ = 5.40.3 2016-05-26 =
1053
+ * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
1054
+ * Added JSON encoding for AJAX forms.
1055
+ * Obfuscated private data for Custom contact forms option.
1056
+ * Optimized bulk users check for spam over blacklists database.
1057
+ * Fixed issue with lost connection to servers and JavaScript anti-spam test.
1058
+ * Fixed issue with WordFence and collect_details.
1059
+
1060
+ = 5.40.2 2016-05-11 =
1061
+ * Improved account status check logic.
1062
+ * Fixed issue with double anti-spam tests for FastSecure contact forms.
1063
+ * Fixed issue with nulled JavaScript variables assigned from backend. This issue might me occured on standart WordPress registration form and with failed JavaScript spam test.
1064
+ * Fixed issue with session_start() with PHP sessions stored in memcache.
1065
+
1066
  = 5.40.1 2016-04-28 =
1067
  * Fixed issue with Super Socializer.
1068
  * Fixed issue with spam filtration for logged in users and Formidable forms.