Spam protection, AntiSpam, FireWall by CleanTalk - Version 5.41

Version Description

2016-05-31 = * Added HTTP response in plugin response if an network issue was happend. * Optimized JavaScript anti-spam test for Formidable forms. * Re-stored the option to auto redirect to plugn settings after plugin activation. * Updated Spanish, Russian translations. * Fixed issue with nasted fields in Formidable forms.

Download this release

Release Info

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

Code changes from version 5.40.3 to 5.41

cleantalk.php CHANGED
@@ -1,17 +1,19 @@
1
  <?php
2
  /*
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.3
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
- $cleantalk_plugin_version='5.40.3';
11
- $ct_agent_version = 'wordpress-5403';
12
  $cleantalk_executed=false;
13
  $ct_sfw_updated = false;
14
 
 
 
15
  if(defined('CLEANTALK_AJAX_USE_BUFFER'))
16
  {
17
  $cleantalk_use_buffer=CLEANTALK_AJAX_USE_BUFFER;
@@ -160,7 +162,15 @@ if(!defined('CLEANTALK_PLUGIN_DIR')){
160
  // http://codex.wordpress.org/Function_Reference/register_activation_hook
161
  register_activation_hook( __FILE__, 'ct_activation' );
162
  register_deactivation_hook( __FILE__, 'ct_deactivation' );
163
-
 
 
 
 
 
 
 
 
164
  // After plugin loaded - to load locale as described in manual
165
  add_action( 'ct_init', 'ct_plugin_loaded' );
166
  ct_plugin_loaded();
@@ -303,6 +313,23 @@ if (!function_exists ( 'ct_deactivation')) {
303
  }
304
  }
305
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
306
  function ct_add_event($event_type)
307
  {
308
  global $ct_data,$cleantalk_executed;
1
  <?php
2
  /*
3
+ Plugin Name: Spam Protection 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. Formerly Anti-Spam by CleanTalk.
6
+ Version: 5.41
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
+ $cleantalk_plugin_version='5.41';
11
+ $ct_agent_version = 'wordpress-541';
12
  $cleantalk_executed=false;
13
  $ct_sfw_updated = false;
14
 
15
+ $ct_redirects_label = 'ct_redirects';
16
+
17
  if(defined('CLEANTALK_AJAX_USE_BUFFER'))
18
  {
19
  $cleantalk_use_buffer=CLEANTALK_AJAX_USE_BUFFER;
162
  // http://codex.wordpress.org/Function_Reference/register_activation_hook
163
  register_activation_hook( __FILE__, 'ct_activation' );
164
  register_deactivation_hook( __FILE__, 'ct_deactivation' );
165
+
166
+ //
167
+ // Redirect admin to plugin settings.
168
+ //
169
+ if(!defined('WP_ALLOW_MULTISITE') || defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE == false)
170
+ {
171
+ add_action('admin_init', 'ct_plugin_redirect');
172
+ }
173
+
174
  // After plugin loaded - to load locale as described in manual
175
  add_action( 'ct_init', 'ct_plugin_loaded' );
176
  ct_plugin_loaded();
313
  }
314
  }
315
 
316
+ /**
317
+ * Redirects admin to plugin settings after activation.
318
+ */
319
+ function ct_plugin_redirect()
320
+ {
321
+ global $ct_redirects_label;
322
+ if (get_option('ct_plugin_do_activation_redirect', false))
323
+ {
324
+ delete_option('ct_plugin_do_activation_redirect');
325
+ if(!isset($_GET['activate-multi']) && !isset($_COOKIE[$ct_redirects_label]))
326
+ {
327
+ setcookie($ct_redirects_label, 1, null, '/');
328
+ wp_redirect("options-general.php?page=cleantalk");
329
+ }
330
+ }
331
+ }
332
+
333
  function ct_add_event($event_type)
334
  {
335
  global $ct_data,$cleantalk_executed;
i18n/cleantalk-es_ES.mo CHANGED
Binary file
inc/cleantalk-admin.php CHANGED
@@ -398,7 +398,7 @@ function ct_admin_init()
398
  add_settings_field('cleantalk_check_external', __('Protect external forms', 'cleantalk'), 'ct_input_check_external', 'cleantalk', 'cleantalk_settings_anti_spam');
399
  add_settings_field('cleantalk_check_comments_number', __("Don't check comments", 'cleantalk'), 'ct_input_check_comments_number', 'cleantalk', 'cleantalk_settings_anti_spam');
400
  add_settings_field('cleantalk_set_cookies', __("Set cookies", 'cleantalk'), 'ct_input_set_cookies', 'cleantalk', 'cleantalk_settings_anti_spam');
401
- add_settings_field('cleantalk_set_cookies', __("Use SSL", 'cleantalk'), 'ct_input_ssl_on', 'cleantalk', 'cleantalk_settings_anti_spam');
402
 
403
  add_settings_field('cleantalk_spam_firewall', __('', 'cleantalk'), 'ct_input_spam_firewall', 'cleantalk', 'cleantalk_settings_banner');
404
  add_settings_field('cleantalk_collect_details', __('Collect details about browsers', 'cleantalk'), 'ct_input_collect_details', 'cleantalk', 'cleantalk_settings_anti_spam');
@@ -1169,13 +1169,6 @@ function cleantalk_admin_notice_message(){
1169
  }
1170
 
1171
  if ($show_notice && $show_ct_notice_online != '' && $value==1 && (is_network_admin() || is_admin()) && $ct_data['moderate_ip'] != 1) {
1172
- if($show_ct_notice_online === 'Y'){
1173
- //echo '<div class="updated"><h3><b>';
1174
- //echo __("Don’t forget to disable CAPTCHA if you have it!", 'cleantalk');
1175
- //echo __("Settings updated!", 'cleantalk');
1176
- //echo '</b></h3></div>';
1177
- }
1178
-
1179
  if($show_ct_notice_online === 'N' && $value==1 && (is_network_admin() || (!defined('WP_ALLOW_MULTISITE')||defined('WP_ALLOW_MULTISITE')&&WP_ALLOW_MULTISITE==false) && is_admin()) && $ct_data['moderate_ip'] != 1){
1180
  echo '<div class="error"><h3><b>';
1181
  echo __("Wrong <a href=\"options-general.php?page=cleantalk\"><b style=\"color: #49C73B;\">Clean</b><b style=\"color: #349ebf;\">Talk</b> access key</a>! Please check it or ask <a target=\"_blank\" href=\"https://cleantalk.org/forum/\">support</a>.", 'cleantalk');
398
  add_settings_field('cleantalk_check_external', __('Protect external forms', 'cleantalk'), 'ct_input_check_external', 'cleantalk', 'cleantalk_settings_anti_spam');
399
  add_settings_field('cleantalk_check_comments_number', __("Don't check comments", 'cleantalk'), 'ct_input_check_comments_number', 'cleantalk', 'cleantalk_settings_anti_spam');
400
  add_settings_field('cleantalk_set_cookies', __("Set cookies", 'cleantalk'), 'ct_input_set_cookies', 'cleantalk', 'cleantalk_settings_anti_spam');
401
+ add_settings_field('cleantalk_ssl_on', __("Use SSL", 'cleantalk'), 'ct_input_ssl_on', 'cleantalk', 'cleantalk_settings_anti_spam');
402
 
403
  add_settings_field('cleantalk_spam_firewall', __('', 'cleantalk'), 'ct_input_spam_firewall', 'cleantalk', 'cleantalk_settings_banner');
404
  add_settings_field('cleantalk_collect_details', __('Collect details about browsers', 'cleantalk'), 'ct_input_collect_details', 'cleantalk', 'cleantalk_settings_anti_spam');
1169
  }
1170
 
1171
  if ($show_notice && $show_ct_notice_online != '' && $value==1 && (is_network_admin() || is_admin()) && $ct_data['moderate_ip'] != 1) {
 
 
 
 
 
 
 
1172
  if($show_ct_notice_online === 'N' && $value==1 && (is_network_admin() || (!defined('WP_ALLOW_MULTISITE')||defined('WP_ALLOW_MULTISITE')&&WP_ALLOW_MULTISITE==false) && is_admin()) && $ct_data['moderate_ip'] != 1){
1173
  echo '<div class="error"><h3><b>';
1174
  echo __("Wrong <a href=\"options-general.php?page=cleantalk\"><b style=\"color: #49C73B;\">Clean</b><b style=\"color: #349ebf;\">Talk</b> access key</a>! Please check it or ask <a target=\"_blank\" href=\"https://cleantalk.org/forum/\">support</a>.", 'cleantalk');
inc/cleantalk-common.php CHANGED
@@ -1,6 +1,6 @@
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';
@@ -53,7 +53,7 @@ $trial_notice_check_timeout = 1;
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;
@@ -160,6 +160,7 @@ function ct_base_call($params = array()) {
160
  $ct = new Cleantalk();
161
  $ct->work_url = $config['ct_work_url'];
162
  $ct->server_url = $ct_options['server'];
 
163
  $ct->server_ttl = $config['ct_server_ttl'];
164
  $ct->server_changed = $config['ct_server_changed'];
165
  $ct->ssl_on = $ct_options['ssl_on'];
@@ -196,20 +197,7 @@ function ct_base_call($params = array()) {
196
  );
197
  }
198
 
199
- if(@intval($ct_result->errno) != 0)
200
- {
201
- if($params['checkjs']!=1)
202
- {
203
- $ct_result->allow = 0;
204
- $ct_result->spam = 1;
205
- $ct_result->comment=__( 'Forbidden. Please, enable Javascript.', 'cleantalk' );
206
- }
207
- else
208
- {
209
- $ct_result->allow = 1;
210
- $ct_result->comment=__( 'Allow', 'cleantalk' );
211
- }
212
- }
213
 
214
  // Restart submit form counter for failed requests
215
  if ($ct_result->allow == 0) {
@@ -678,6 +666,18 @@ function ct_get_fields_any(&$email,&$message,&$nickname,&$subject, &$contact,$ar
678
  @ct_get_fields_any($email, $message, $nickname, $subject, $contact, $value);
679
  }
680
  }
 
 
 
 
 
 
 
 
 
 
 
 
681
  }
682
 
683
  /**
@@ -807,6 +807,7 @@ function ct_filter_array(&$array)
807
  }
808
  }
809
 
 
810
  function cleantalk_debug($key,$value)
811
  {
812
  if(isset($_COOKIE) && isset($_COOKIE['cleantalk_debug']))
@@ -814,4 +815,37 @@ function cleantalk_debug($key,$value)
814
  @header($key.": ".$value);
815
  }
816
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
817
  ?>
1
  <?php
2
 
3
+ $ct_plugin_name = 'Spam Protection 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';
53
  $account_notice_check_timeout = 24;
54
 
55
  // Timeout before new check account notice in hours
56
+ $renew_notice_check_timeout = 0.5;
57
 
58
  // Trial notice show time in minutes
59
  $trial_notice_showtime = 10;
160
  $ct = new Cleantalk();
161
  $ct->work_url = $config['ct_work_url'];
162
  $ct->server_url = $ct_options['server'];
163
+
164
  $ct->server_ttl = $config['ct_server_ttl'];
165
  $ct->server_changed = $config['ct_server_changed'];
166
  $ct->ssl_on = $ct_options['ssl_on'];
197
  );
198
  }
199
 
200
+ $ct_result = ct_change_plugin_resonse($ct_result, $params['checkjs']);
 
 
 
 
 
 
 
 
 
 
 
 
 
201
 
202
  // Restart submit form counter for failed requests
203
  if ($ct_result->allow == 0) {
666
  @ct_get_fields_any($email, $message, $nickname, $subject, $contact, $value);
667
  }
668
  }
669
+ //
670
+ // Reset $message if we have a sign-up data
671
+ //
672
+ $skip_message_post = array(
673
+ 'edd_action', // Easy Digital Downloads
674
+ );
675
+ foreach ($skip_message_post as $v) {
676
+ if (isset($_POST[$v])) {
677
+ $message = null;
678
+ break;
679
+ }
680
+ }
681
  }
682
 
683
  /**
807
  }
808
  }
809
 
810
+
811
  function cleantalk_debug($key,$value)
812
  {
813
  if(isset($_COOKIE) && isset($_COOKIE['cleantalk_debug']))
815
  @header($key.": ".$value);
816
  }
817
  }
818
+
819
+ /**
820
+ * Function changes CleanTalk result object if an error occured.
821
+ * @return object
822
+ */
823
+ function ct_change_plugin_resonse($ct_result = null, $checkjs = null) {
824
+ global $ct_plugin_name;
825
+
826
+ if (!$ct_result) {
827
+ return $ct_result;
828
+ }
829
+
830
+ if(@intval($ct_result->errno) != 0)
831
+ {
832
+ if($checkjs === null || $checkjs != 1)
833
+ {
834
+ $ct_result->allow = 0;
835
+ $ct_result->spam = 1;
836
+ $ct_result->comment = sprintf('We\'ve got an issue: %s. Forbidden. Please, enable Javascript. %s.',
837
+ $ct_result->comment,
838
+ $ct_plugin_name
839
+ );
840
+ }
841
+ else
842
+ {
843
+ $ct_result->allow = 1;
844
+ $ct_result->comment = 'Allow';
845
+ }
846
+ }
847
+
848
+ return $ct_result;
849
+ }
850
+
851
  ?>
inc/cleantalk-public.php CHANGED
@@ -281,12 +281,6 @@ ctSetCookie("%s", "%s", "%s");
281
  </script>
282
  ';
283
  $html = sprintf($html, $field_name, $ct_checkjs_key, $ct_checkjs_def);
284
- /*!!! IT'S A TEMPORARILY CODE FOR DEBUGGING CF7 !!!*/
285
- if($use_ajax==1)
286
- {
287
- $html='';
288
- }
289
- /*!!! IT'S A TEMPORARILY CODE FOR DEBUGGING CF7 !!!*/
290
  } else {
291
  $ct_input_challenge = sprintf("'%s'", $ct_checkjs_key);
292
 
@@ -344,24 +338,17 @@ function ct_is_user_enable() {
344
  * return null;
345
  */
346
  function ct_frm_entries_footer_scripts($fields, $form) {
347
- global $current_user, $ct_checkjs_frm, $ct_options, $ct_data;
348
-
349
  if ($ct_options['contact_forms_test'] == 0) {
350
  return false;
351
  }
352
-
353
- $ct_checkjs_key = ct_get_checkjs_value();
354
- $ct_frm_name = 'form_' . $form->form_key;
355
-
356
  ?>
357
-
358
- var input = document.createElement("input");
359
- input.setAttribute("type", "hidden");
360
- input.setAttribute("name", "<?php echo $ct_checkjs_frm; ?>");
361
- input.setAttribute("value", "<?php echo $ct_checkjs_key; ?>");
362
- document.getElementById("<?php echo $ct_frm_name; ?>").appendChild(input);
363
-
364
  <?php
 
 
365
  }
366
 
367
  /**
@@ -379,9 +366,6 @@ function ct_frm_validate_entry ($errors, $values) {
379
  }
380
 
381
  $checkjs = js_test('ct_checkjs', $_COOKIE, true);
382
- if($checkjs != 1){
383
- $checkjs = js_test($ct_checkjs_frm, $_POST, true);
384
- }
385
 
386
  $post_info['comment_type'] = 'feedback';
387
  $post_info = json_encode($post_info);
@@ -390,13 +374,11 @@ function ct_frm_validate_entry ($errors, $values) {
390
 
391
  $sender_email = null;
392
  $message = '';
393
- foreach ($values['item_meta'] as $v) {
394
- if (isset($v) && is_string($v) && preg_match("/^\S+@\S+\.\S+$/", $v)) {
395
- $sender_email = $v;
396
- continue;
397
- }
398
- $message .= ' ' . $v;
399
- }
400
 
401
  $ct_base_call_result = ct_base_call(array(
402
  'message' => $message,
@@ -960,7 +942,6 @@ function ct_test_message($nickname, $email, $ip, $text){
960
  * Check registrations for external plugins
961
  * @return array with checking result;
962
  */
963
-
964
  function ct_test_registration($nickname, $email, $ip){
965
  global $ct_checkjs_register_form, $ct_agent_version, $ct_options, $ct_data;
966
 
@@ -988,7 +969,6 @@ function ct_test_registration($nickname, $email, $ip){
988
  if ($sender_info === false) {
989
  $sender_info= '';
990
  }
991
-
992
 
993
  require_once('cleantalk.class.php');
994
  $config = get_option('cleantalk_server');
@@ -1012,20 +992,7 @@ function ct_test_registration($nickname, $email, $ip){
1012
 
1013
  $ct_result = $ct->isAllowUser($ct_request);
1014
 
1015
- if(@intval($ct_result->errno) != 0)
1016
- {
1017
- if($checkjs != 1)
1018
- {
1019
- $ct_result->allow = 0;
1020
- $ct_result->spam = 1;
1021
- $ct_result->comment=__( 'Forbidden. Please, enable Javascript.', 'cleantalk' );
1022
- }
1023
- else
1024
- {
1025
- $ct_result->allow = 1;
1026
- $ct_result->comment=__( 'Allow', 'cleantalk' );
1027
- }
1028
- }
1029
 
1030
  $result=Array(
1031
  'allow' => $ct_result->allow,
@@ -1138,26 +1105,7 @@ function ct_registration_errors($errors, $sanitized_user_login = null, $user_ema
1138
 
1139
  $ct_signup_done = true;
1140
 
1141
- /*if ($ct_result->errno != 0 && $ct_options['notice_api_errors']) {
1142
- ct_send_error_notice($ct_result->comment);
1143
- return $errors;
1144
- }*/
1145
-
1146
- if(@intval($ct_result->errno) != 0)
1147
- {
1148
-
1149
- if($checkjs != 1)
1150
- {
1151
- $ct_result->allow = 0;
1152
- $ct_result->spam = 1;
1153
- $ct_result->comment=__( 'Forbidden. Please, enable Javascript.', 'cleantalk' );
1154
- }
1155
- else
1156
- {
1157
- $ct_result->allow = 1;
1158
- $ct_result->comment=__( 'Allow', 'cleantalk' );
1159
- }
1160
- }
1161
 
1162
  if ($ct_result->inactive != 0) {
1163
  ct_send_error_notice($ct_result->comment);
@@ -1772,20 +1720,7 @@ function ct_s2member_registration_test() {
1772
  );
1773
  }
1774
 
1775
- if(@intval($ct_result->errno) != 0)
1776
- {
1777
- if($checkjs !=1)
1778
- {
1779
- $ct_result->allow = 0;
1780
- $ct_result->spam = 1;
1781
- $ct_result->comment=__( 'Forbidden. Please, enable Javascript.', 'cleantalk' );
1782
- }
1783
- else
1784
- {
1785
- $ct_result->allow = 1;
1786
- $ct_result->comment=__( 'Allow', 'cleantalk' );
1787
- }
1788
- }
1789
 
1790
  // Restart submit form counter for failed requests
1791
  if ($ct_result->allow == 0) {
281
  </script>
282
  ';
283
  $html = sprintf($html, $field_name, $ct_checkjs_key, $ct_checkjs_def);
 
 
 
 
 
 
284
  } else {
285
  $ct_input_challenge = sprintf("'%s'", $ct_checkjs_key);
286
 
338
  * return null;
339
  */
340
  function ct_frm_entries_footer_scripts($fields, $form) {
341
+ global $ct_options;
342
+
343
  if ($ct_options['contact_forms_test'] == 0) {
344
  return false;
345
  }
346
+ $js_code = ct_add_hidden_fields(true, 'ct_checkjs', true, true);
 
 
 
347
  ?>
348
+ <?php echo $js_code; ?>
 
 
 
 
 
 
349
  <?php
350
+
351
+ return null;
352
  }
353
 
354
  /**
366
  }
367
 
368
  $checkjs = js_test('ct_checkjs', $_COOKIE, true);
 
 
 
369
 
370
  $post_info['comment_type'] = 'feedback';
371
  $post_info = json_encode($post_info);
374
 
375
  $sender_email = null;
376
  $message = '';
377
+ $subject = '';
378
+ $nickname = '';
379
+ $contact_form = true;
380
+ @ct_get_fields_any($sender_email, $message, $subject, $nickname, $contact_form, $values['item_meta']);
381
+ $message = json_encode($message);
 
 
382
 
383
  $ct_base_call_result = ct_base_call(array(
384
  'message' => $message,
942
  * Check registrations for external plugins
943
  * @return array with checking result;
944
  */
 
945
  function ct_test_registration($nickname, $email, $ip){
946
  global $ct_checkjs_register_form, $ct_agent_version, $ct_options, $ct_data;
947
 
969
  if ($sender_info === false) {
970
  $sender_info= '';
971
  }
 
972
 
973
  require_once('cleantalk.class.php');
974
  $config = get_option('cleantalk_server');
992
 
993
  $ct_result = $ct->isAllowUser($ct_request);
994
 
995
+ $ct_result = ct_change_plugin_resonse($ct_result, $checkjs);
 
 
 
 
 
 
 
 
 
 
 
 
 
996
 
997
  $result=Array(
998
  'allow' => $ct_result->allow,
1105
 
1106
  $ct_signup_done = true;
1107
 
1108
+ $ct_result = ct_change_plugin_resonse($ct_result, $checkjs);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1109
 
1110
  if ($ct_result->inactive != 0) {
1111
  ct_send_error_notice($ct_result->comment);
1720
  );
1721
  }
1722
 
1723
+ $ct_result = ct_change_plugin_resonse($ct_result, $checkjs);
 
 
 
 
 
 
 
 
 
 
 
 
 
1724
 
1725
  // Restart submit form counter for failed requests
1726
  if ($ct_result->allow == 0) {
readme.txt CHANGED
@@ -1,16 +1,16 @@
1
- === Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
2
- Contributors: CleanTalk Inc
3
- Tags: spam, anti-spam, antispam, anti spam, capcha, captha, catcha, cf7 spam, comments, contact form spam, spammers, spammy, wordpress spam, gravity spam, bots, protection, protect, akismet, recaptcha, google captcha, google recaptcha, math, security, blacklist, prevent spam comments, bulk delete, bulk remove, firewall, ddos, cleantalk, comment spam, registration spam, spam comments, comment moderation, spam bots, block spam, signup spam, spam blocker, spam filter, user registration spam,spam trackbacks, anti-spam plugin, 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
 
10
  Max power spam protection, all-in-one, premium anti-spam. No comments spam & registrations spam, no email spam, protects any forms. Forget spam.
11
 
12
  == Description ==
13
- No CAPTCHA, no questions, no counting animals, no puzzles, no math and no spam bots.
14
 
15
  = AntiSpam features =
16
  1. Stops spam comments.
@@ -33,7 +33,7 @@ Supports native WordPress, JetPack comments and any other comments plugins. Plug
33
  Filters spam bots on registration forms WordPress, BuddyPress, bbPress, S2Member, WooCommerce, Profile builder and any other registrations plugins.
34
 
35
  = Protection against contact form spam =
36
- Plugin is tested and ready to protect against spam emails via Formidable forms, Contact form 7, JetPack Contact form, Fast Secure Contact form, Ninja forms, Landing pages, Gravity forms and any themes/custom contact forms.
37
 
38
  = WooCommerce spam filter =
39
  Anti-spam by CleanTalk filters spam registrations and spam reviews for WooCommerce. Plugin is fully compatible with WooCommerce 2.1 and higher.
@@ -44,20 +44,23 @@ Anti-spam by CleanTalk filters spam subscriptions for MailPoet, MailChimp, Popup
44
  = Spam filter for themes contact forms =
45
  Plugin blocks spam emails via any themes (built-in) contact forms. With AJAX forms plugin silently (without any error notices on WordPress frontend) filters spam emails.
46
 
 
 
 
47
  = Other spam filters =
48
  * WordPress Landing Pages.
49
  * WP User Frontend.
50
- * Any WordPress form (options for 'Custom contact forms'). 
51
  * Any submission to site (options for 'Check all POST data')
52
 
53
  = Compatible with WordPress cache plugins =
54
  * W3 Total Cache, Quick Cache, WP Fastest Cache, Hyper Cache, WP Super cache and any other cache plugins.
55
 
56
  = Check existing comments for spam. Bulk comment removal =
57
- With the help of anti-spam by CleanTalk you can check existing comments to find and quickly delete spam comments at once. To use this function, go to WP Console->Comments->Find spam comments.
58
 
59
  = Check existing users for spam. Bulk account removal =
60
- With the help of anti-spam by CleanTalk you can check existing accounts to find and quickly delete spam users at once. For use this function, go to WP Console->Users->Check for spam.
61
 
62
  = Blocking users by country =
63
  Automatically block comments and registration from the countries for which you have set a ban. This option is useful in cases of protection from manual spam and gains protection. If your site is not aimed at an international audience and you do not expect comments/users from other countries.
@@ -210,23 +213,23 @@ Now, all subsites will have this access key.
210
  Go to <a href="https://cleantalk.org/my" target="_blank">Dashboard</a> at the cleantalk.org or use <a href="https://play.google.com/store/apps/details?id=org.cleantalk.app">Android</a>, <a href="https://itunes.apple.com/us/app/cleantalk/id825479913?mt=8">iPhone</a> anti-spam app to manage and control spam protection.
211
 
212
  == Frequently Asked Questions ==
213
- = Does the plugin protect against brute force, DoS attacks as well as against spam attacks? =
214
- 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.
215
 
216
  = Is the anti-spam protection safe for mobile visitors? =
217
- 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.
218
 
219
  = What does the plugin do with spam comments? =
220
- Spam comments are being moved to SPAM folder or you can set the option to ban spam comments silently.
221
 
222
  = How does the plugin stop spam? =
223
- The plugin uses several simple tests to stop spammers.
224
 
225
- 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.
226
- 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.
227
- 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.
228
 
229
- = Will this anti-spam plugin protect my theme? =
230
  Yes, it will. The Anti-spam by CleanTalk is compatible with any WordPress theme.
231
 
232
  = How can I test the anti-spam protection? =
@@ -239,7 +242,7 @@ The plugin Anti-Spam by CleanTalk stops up to 99.998% of spam comments, spam sig
239
  The plugin passes pingbacks without any checks by default. All trackbacks will be blocked if the sender had spam activity.
240
 
241
  = Can I use CleanTalk with Akismet? =
242
- Sure, you can use CleanTalk with Akismet. In this case you will probably have higher false/positive rate (when legitimate comments/signups are being denied), but you will have stronger antispam protection at website.
243
 
244
  = Is CleanTalk better than Akismet? =
245
  Please look at this features comparison here https://cleantalk.org/cleantalk-vs-akismet
@@ -248,49 +251,49 @@ Please look at this features comparison here https://cleantalk.org/cleantalk-vs-
248
  Yes, you can. The plugin has the option to test all pending comments via database of <a href="https://cleantalk.org/blacklists">spam active IP/Email</a>, found spam comments will be moved to Trash folder.
249
 
250
  = How does the plugin find spam in pending comments or registered accounts? =
251
- The plugin checks all non-spam comments in the blacklist database and shows your those senders who have spam activity on other websites.
252
- There are some differences between blacklist database and API to protect you from spam bot registrations/comments online. Blacklists show all history of spam activity, but our API (which is used in spam tests) relies on other parameters, too: last day of activity, number of spam attacks during the last days etc. This mechanisms help us to reduce number of false/outcomes. So, there is nothing strange, if some emails/IPs are not found by bulk comments/accounts test.
253
 
254
- To check comments please go here,
255
  > WordPress console -> Comments -> Find spam comments
256
 
257
- To check users please go here,
258
  > WordPress console -> Users -> Find spam users
259
 
260
- = Should I use another anti-spam tools (Captcha, reCaptcha and etc.)? =
261
- CleanTalk stops up to 99.998% of spam bots, so you can disable other anti-spam plugins (especially CAPTCHA like anti-spam plugins). In some cases several anti-spam plugins can conflict, so it will be better use just one plugin.
262
 
263
- = Is the plugin WordPress MultiUser (WPMU or WordPress network) compatible? =
264
- The plugin is WordPress MultiUser (WPMU or WordPress network) compatible. Each blog in multisite environment has individual anti-spam options for spam bots protection.
265
 
266
- = After installation I noticed in the statistics that the number of spam attacks increased =
267
  There are a few reasons for this:
268
 
269
  * With the indexing of your web-site by the search systems, appearance of external links and better search results position, your web-site attracts more and more spambots.
270
  * Non-transparent protection systems like CAPTCHA or question/answer, that don't have spam attacks statistics, don't let you see the whole picture, or the picture is incomplete.
271
- * Counting methods for spam attacks and spam bots are different for different systems, which explains the diversity. We seek to provide detailed statistics.
272
 
273
  = Why my dummy "spam" comment passed to the WordPress? =
274
- The plugin has several options to detect spam bots and humans. If you just post spammy text like this,
275
 
276
  "I want to sell something", "Buy something here.." and etc
277
 
278
- The comments will be passed, becuase the plugin detect sender as a human. So, use special email *stop_email@example.com* to test anti-spam or wait a few days to see how the plugin works.
279
 
280
  = Is it free or paid? =
281
- The plugin is free. But the plugin uses CleanTalk cloud service to filter spam bots. You have to register an account and you have free trial to test anti-spam for comments, registrations, bookings, contacts or orders. When the trial (on CleanTalk account) is finished, you can renew the subscription for 1 year or deactivate anti-spam plugin.
282
 
283
  = Can I use CleanTalk with cache plugins? =
284
- Anti-spam by CleanTalk doesn't use static HTML code into templates, so all anti-spam functions works correctly with any WordPress cache plugins.
285
 
286
- = Does the plugin protects against spam bots at forms with third-party services? =
287
- Yes, it does. Plugin protects web-forms on your websites which are send data to third-party servers (like MailChimp). To enable this protection set option 'Protect external forms' in plugin settings.
288
 
289
  = Does CleanTalk compatible with Cloudflare? =
290
- CleanTalk is fully compatible with CloudFlare. Service doesn't filter CloudFlares IP's (AS13335) over blacklists database, so in this way plugin/service filters spam bots uses other anti spam tests.
291
 
292
- = Does CleanTalk compatible with a content delivery network (CDN)? =
293
- Yes, it does. CleanTalk works with any CDN system, i.e. CloudFlare, MaxCDN, Akamai.
294
 
295
  = Can I use CleanTalk functionality in my plugins? =
296
  Yes, you can. Just use following snippet:
@@ -309,8 +312,8 @@ $res now contents array with two parameters:
309
  * $res['allow'] - is request allowed (1) or not (0)
310
  * $res['comment'] - comment for our server's decision.
311
 
312
- = I see two loads of script cleantalk_nocache.js. Why are you use it? =
313
- This scrupt is using for AJAX JavaScript checking. Different themes use different mechanisms of loading, so we use two method for loading our script. If you absolutely knows what are you doing, you can switch one of methods off be defining constants in your wp-config.php file:
314
 
315
  define('CLEANTALK_AJAX_USE_BUFFER', false); //false - don't use output buffering to include AJAX script, true - use it
316
 
@@ -319,18 +322,18 @@ or
319
  define('CLEANTALK_AJAX_USE_FOOTER_HEADER', false); //false - don't use wp_footer() and wp_header() for including AJAX script, true - use it
320
 
321
  = Can I add exclusions for some pages of my site? =
322
- Yes, you can. Add in your wp-config.php file, before defining database constants, this string:
323
 
324
  $cleantalk_url_exclusions = Array('url1', 'url2', 'url3');
325
 
326
- Now, all pages containing strings 'url1', 'url2', or 'url3' will be excluded from anti-spam checking. Remember, that this option will be not applied in registrations and comment checking - they are always protected from spam.
327
 
328
- = Can I exclude personal data from sending to CleanTalk servers? =
329
- Yes, you can. Add in your wp-config.php file, before defining database constants, this string:
330
 
331
  $cleantalk_key_exclusions = Array('key1', 'key2', 'key3');
332
 
333
- Now all fields in your submissions with keys named 'key1', 'key2' or 'key3' will be excluded from spam checking.
334
 
335
  = How to test SpamFireWall? =
336
  Use special IP 10.10.10.10 in URL to test SpamFireWall. For example,
@@ -344,28 +347,28 @@ To set up global CleanTalk access key for all websites in WPMU, define constant
344
 
345
  Now, all subsites will have this access key.
346
 
347
- = Why CleanTalk is faster and more reliable than stand-alone solutions? =
348
- All anti-spam checks are held in the cloud and aren't loading the web server. The cloud solutions have a huge advantage since the parameters are compared with information from more 100,000 websites.
349
 
350
- = I see in logs a lot of blocked messages with reason "Forbidden. Please enable JavaScript. Spam sender name." =
351
- A lot of spam bots can't perform JavaScript code, so it is one of the important checks and most of the spam bots will be blocked with reason "Forbidden. Please enable JavaScript. Spam sender name." All browsers can perform JS code, so real visitors won't be blocked.
352
 
353
- If you or someone from your visitors have error "Forbidden. Enable JavaScript." please check JavaScript support in your browser and do JavaScript test at this page https://cleantalk.org/checkout-javascript-support.
354
 
355
- If you think that message was blocked wrong, let us know about it. Please submit a support request here https://cleantalk.org/my/support.
356
 
357
  = Does the plugin work with Varnish? =
358
- CleanTalk works with Varnish, it protects WordPress against spam, but by default the plugin generates a few cookies that uses to protect against spam bots it disables Varnish cache on pages with CleanTalk's cookies. To resolve issue with cache turn off option 'Set cookies' in plugin settings.
359
 
360
  WordPress console -> Settings -> CleanTalk -> Advanced settings
361
 
362
- In that way plugin will protect WordPress comments, registrations and most of popular contact forms, but will not protect some of rarely used contact forms.
363
 
364
  = Does the anti-spam plugin work with Accelerated Mobile Pages (AMP)? =
365
- Yes, it does. But you have to turn off the option 'Use AJAX for JavaScript check' in Advanced settigns to be fully compatible with Accelerated Mobile Pages.
366
 
367
  = How to close renewal or trial notice in the WordPress backend? =
368
- To close the notice please save plugin settings or it will be closed automatically within 60 minutes after the renewal.
369
 
370
  == Other notes ==
371
 
@@ -463,6 +466,13 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
463
  1. CleanTalk works faster than most of other anti-spam plugins.
464
 
465
  == Changelog ==
 
 
 
 
 
 
 
466
  = 5.40.3 2016-05-26 =
467
  * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
468
  * Added JSON encoding for AJAX forms.
@@ -1048,6 +1058,12 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
1048
  * First version
1049
 
1050
  == Upgrade Notice ==
 
 
 
 
 
 
1051
  = 5.40.3 2016-05-26 =
1052
  * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
1053
  * Added JSON encoding for AJAX forms.
1
+ === Spam Protection by CleanTalk ===
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, anti-spam plugin, varnish, amp, spam free
4
  Requires at least: 3.0
5
  Tested up to: 4.5.2
6
+ Stable tag: 5.41
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
  Max power spam protection, all-in-one, premium anti-spam. No comments spam & registrations spam, no email spam, protects any forms. Forget spam.
11
 
12
  == Description ==
13
+ No CAPTCHA, no questions, no animal counting, no puzzles, no math and no spam bots. Formerly 'Anti-Spam by CleanTalk'.
14
 
15
  = AntiSpam features =
16
  1. Stops spam comments.
33
  Filters spam bots on registration forms WordPress, BuddyPress, bbPress, S2Member, WooCommerce, Profile builder and any other registrations plugins.
34
 
35
  = Protection against contact form spam =
36
+ Plugin is tested and ready to protect against spam emails via Formidable forms, Contact form 7, JetPack Contact form, Fast Secure Contact form, Ninja forms, Landing pages, Gravity forms and any themes/custom contact forms.
37
 
38
  = WooCommerce spam filter =
39
  Anti-spam by CleanTalk filters spam registrations and spam reviews for WooCommerce. Plugin is fully compatible with WooCommerce 2.1 and higher.
44
  = Spam filter for themes contact forms =
45
  Plugin blocks spam emails via any themes (built-in) contact forms. With AJAX forms plugin silently (without any error notices on WordPress frontend) filters spam emails.
46
 
47
+ = bbPress spam filter =
48
+ Protects everything about bbPress: registrations, topics, replies.
49
+
50
  = Other spam filters =
51
  * WordPress Landing Pages.
52
  * WP User Frontend.
53
+ * Any WordPress form (options for 'Custom contact forms').
54
  * Any submission to site (options for 'Check all POST data')
55
 
56
  = Compatible with WordPress cache plugins =
57
  * W3 Total Cache, Quick Cache, WP Fastest Cache, Hyper Cache, WP Super cache and any other cache plugins.
58
 
59
  = Check existing comments for spam. Bulk comment removal =
60
+ With the help of anti-spam by CleanTalk you can check existing comments to find and quickly delete spam comments at once. To use this function, go to WP Console->Comments->Find spam comments.
61
 
62
  = Check existing users for spam. Bulk account removal =
63
+ With the help of anti-spam by CleanTalk you can check existing accounts to find and quickly delete spam users at once. For use this function, go to WP Console->Users->Check for spam.
64
 
65
  = Blocking users by country =
66
  Automatically block comments and registration from the countries for which you have set a ban. This option is useful in cases of protection from manual spam and gains protection. If your site is not aimed at an international audience and you do not expect comments/users from other countries.
213
  Go to <a href="https://cleantalk.org/my" target="_blank">Dashboard</a> at the cleantalk.org or use <a href="https://play.google.com/store/apps/details?id=org.cleantalk.app">Android</a>, <a href="https://itunes.apple.com/us/app/cleantalk/id825479913?mt=8">iPhone</a> anti-spam app to manage and control spam protection.
214
 
215
  == Frequently Asked Questions ==
216
+ = Does the plugin protect from brute force, DoS attacks and spam attacks? =
217
+ Yes, it does. Please turn the option 'SpamFireWall' on in the plugin settings to protect your website from DoS/DDoS, XML-RPC attacks.
218
 
219
  = Is the anti-spam protection safe for mobile visitors? =
220
+ Yes, it 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.
221
 
222
  = What does the plugin do with spam comments? =
223
+ Spam comments are being moved to SPAM folder by default or you can set the option to ban spam comments silently.
224
 
225
  = How does the plugin stop spam? =
226
+ The plugin uses several simple tests to stop spammers:
227
 
228
+ 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 be run by the spam bot.
229
+ 1. **Email, IP, domain spam activity list entries check.** The plugin uses spam activity database online at cleantalk.org, consisting of more than 20 billion spam activity records of IPs, Emails, 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.
230
+ 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 just send $_POST data to the blog. The normal visitor sends the data after several seconds or minutes.
231
 
232
+ = Will the anti-spam plugin protect my theme? =
233
  Yes, it will. The Anti-spam by CleanTalk is compatible with any WordPress theme.
234
 
235
  = How can I test the anti-spam protection? =
242
  The plugin passes pingbacks without any checks by default. All trackbacks will be blocked if the sender had spam activity.
243
 
244
  = Can I use CleanTalk with Akismet? =
245
+ Sure, you can use CleanTalk with Akismet. In this case you will probably have higher false/positive rate (when legitimate comments/signups are being denied), but you will have stronger antispam protection on your website.
246
 
247
  = Is CleanTalk better than Akismet? =
248
  Please look at this features comparison here https://cleantalk.org/cleantalk-vs-akismet
251
  Yes, you can. The plugin has the option to test all pending comments via database of <a href="https://cleantalk.org/blacklists">spam active IP/Email</a>, found spam comments will be moved to Trash folder.
252
 
253
  = How does the plugin find spam in pending comments or registered accounts? =
254
+ The plugin checks all non-spam comments in the blacklist database and shows you those senders who have spam activity on other websites.
255
+ There are some differences between blacklist database and API to protect you from spam bot registrations/comments online. Blacklists show all history of spam activity, but our API (which is used in spam tests) relies on other parameters too: last day of activity, number of spam attacks during the last days etc. These mechanisms help us to reduce the number of false outcomes. So, there is nothing strange, if some emails/IPs are not found by bulk comments/accounts test.
256
 
257
+ To check comments please go here:
258
  > WordPress console -> Comments -> Find spam comments
259
 
260
+ To check users please go here:
261
  > WordPress console -> Users -> Find spam users
262
 
263
+ = Should I use other anti-spam tools (Captcha, reCaptcha and etc.)? =
264
+ CleanTalk stops up to 99.998% of spam bots, so you can disable other anti-spam plugins (especially CAPTCHA-type anti-spam plugins). In some cases several anti-spam plugins could conflict with each other, so it would be better to use just one plugin.
265
 
266
+ = Is the plugin compatible with WordPress MultiUser (WPMU or WordPress network)? =
267
+ Yes, the plugin is compatible with WordPress MultiUser. Each blog in multisite environment has individual anti-spam options for the protection from spam bots.
268
 
269
+ = After the installation I noticed that the number of spam attacks has been increased in the statistics =
270
  There are a few reasons for this:
271
 
272
  * With the indexing of your web-site by the search systems, appearance of external links and better search results position, your web-site attracts more and more spambots.
273
  * Non-transparent protection systems like CAPTCHA or question/answer, that don't have spam attacks statistics, don't let you see the whole picture, or the picture is incomplete.
274
+ * Counting methods for spam attacks and spam bots are different for different systems, thus the diversity appears. We seek to provide detailed statistics.
275
 
276
  = Why my dummy "spam" comment passed to the WordPress? =
277
+ The plugin has several options to detect spam bots and humans. If you just post spammy text like this:
278
 
279
  "I want to sell something", "Buy something here.." and etc
280
 
281
+ the comments will be passed, because the plugin detects sender as a human. So, use special email *stop_email@example.com* to test the anti-spam functionality or wait a few days to see how the plugin works.
282
 
283
  = Is it free or paid? =
284
+ The plugin is free. But the plugin uses CleanTalk cloud service to filter spam bots. You have to register an account and then you will receive a free trial to test anti-spam for comments, registrations, bookings, contacts or orders. When the trial (on CleanTalk account) is finished, you can renew the subscription for 1 year or deactivate anti-spam plugin.
285
 
286
  = Can I use CleanTalk with cache plugins? =
287
+ Anti-spam by CleanTalk doesn't use static HTML code in its templates, so all anti-spam functions work correctly with any WordPress cache plugins.
288
 
289
+ = Does the plugin protect from spam bots if I use forms with third-party services? =
290
+ Yes, it does. Plugin protects web-forms on your websites which send data to third-party servers (like MailChimp). To enable this protection set the option 'Protect external forms' in the plugin settings.
291
 
292
  = Does CleanTalk compatible with Cloudflare? =
293
+ CleanTalk is fully compatible with CloudFlare. Service doesn't filter CloudFlares IP's (AS13335) through blacklists database, so in this case plugin/service filters spam bots using other anti-spam tests.
294
 
295
+ = Is CleanTalk compatible with a content delivery network (CDN)? =
296
+ Yes, it is. CleanTalk works with any CDN system, i.e. CloudFlare, MaxCDN, Akamai.
297
 
298
  = Can I use CleanTalk functionality in my plugins? =
299
  Yes, you can. Just use following snippet:
312
  * $res['allow'] - is request allowed (1) or not (0)
313
  * $res['comment'] - comment for our server's decision.
314
 
315
+ = I see two loads of script cleantalk_nocache.js. Why do you use it twice? =
316
+ This script is used for AJAX JavaScript checking. Different themes use different mechanisms of loading, so we use two methods for loading our script. If you absolutely know what you are doing, you can switch one of the methods off by defining constants in your wp-config.php file:
317
 
318
  define('CLEANTALK_AJAX_USE_BUFFER', false); //false - don't use output buffering to include AJAX script, true - use it
319
 
322
  define('CLEANTALK_AJAX_USE_FOOTER_HEADER', false); //false - don't use wp_footer() and wp_header() for including AJAX script, true - use it
323
 
324
  = Can I add exclusions for some pages of my site? =
325
+ Yes, you can. Add this string in your wp-config.php file before defining database constants:
326
 
327
  $cleantalk_url_exclusions = Array('url1', 'url2', 'url3');
328
 
329
+ Now, all pages containing strings 'url1', 'url2', or 'url3' will be excluded from anti-spam checking. Remember, that this option will not be applied in registration and comment checking they are always protected from spam.
330
 
331
+ = Can I not send my personal data to CleanTalk servers? =
332
+ Yes, you can exclude your data. Add this string in your wp-config.php file before defining database constants:
333
 
334
  $cleantalk_key_exclusions = Array('key1', 'key2', 'key3');
335
 
336
+ Now all fields in your submissions with the keys named 'key1', 'key2' or 'key3' will be excluded from spam checking.
337
 
338
  = How to test SpamFireWall? =
339
  Use special IP 10.10.10.10 in URL to test SpamFireWall. For example,
347
 
348
  Now, all subsites will have this access key.
349
 
350
+ = Why is CleanTalk faster and more reliable than stand-alone solutions? =
351
+ All anti-spam checks are held in the cloud and don't overload the web server. The cloud solutions have a huge advantage since the parameters are being compared with information from more than 100,000 websites.
352
 
353
+ = I see a lot of blocked messages with the reason "Forbidden. Please enable JavaScript. Spam sender name." in my logs =
354
+ A lot of spam bots can't perform JavaScript code, so it is one of the important checks and most of the spam bots will be blocked with the reason **"Forbidden. Please enable JavaScript. Spam sender name."** All browsers can perform JS code, so real visitors won't be blocked.
355
 
356
+ If you or some of your visitors have the error **"Forbidden. Enable JavaScript."** please check JavaScript support in your browser and do this JavaScript test at this page: https://cleantalk.org/checkout-javascript-support.
357
 
358
+ If you think that there is something wrong in the messages blocking, let us know about it. Please submit a support request here: https://cleantalk.org/my/support.
359
 
360
  = Does the plugin work with Varnish? =
361
+ CleanTalk works with Varnish, it protects WordPress against spam, but by default the plugin generates a few cookies for the protection from spam bots and it also disables Varnish cache on pages where CleanTalk's cookies have been stored. To get rid of the issue with cache turn off the option 'Set cookies' in the plugin settings.
362
 
363
  WordPress console -> Settings -> CleanTalk -> Advanced settings
364
 
365
+ Now the plugin will protect WordPress comments, registrations and most of popular contact forms, but will not protect some of rarely used contact forms.
366
 
367
  = Does the anti-spam plugin work with Accelerated Mobile Pages (AMP)? =
368
+ Yes, it does. But you have to turn off the option 'Use AJAX for JavaScript check' in Advanced settigns of the plugin to be fully compatible with Accelerated Mobile Pages.
369
 
370
  = How to close renewal or trial notice in the WordPress backend? =
371
+ To close the notice please save the plugin settings again or it will be closed automatically within 60 minutes after the renewal.
372
 
373
  == Other notes ==
374
 
466
  1. CleanTalk works faster than most of other anti-spam plugins.
467
 
468
  == Changelog ==
469
+ = 5.41 2016-05-31 =
470
+ * Added HTTP response in plugin response if an network issue was happend.
471
+ * Optimized JavaScript anti-spam test for Formidable forms.
472
+ * Re-stored the option to auto redirect to plugn settings after plugin activation.
473
+ * Updated Spanish, Russian translations.
474
+ * Fixed issue with nasted fields in Formidable forms.
475
+
476
  = 5.40.3 2016-05-26 =
477
  * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
478
  * Added JSON encoding for AJAX forms.
1058
  * First version
1059
 
1060
  == Upgrade Notice ==
1061
+ = 5.41 2016-05-31 =
1062
+ * Added HTTP response in plugin response if an network issue was happend.
1063
+ * Optimized JavaScript anti-spam test for Formidable forms.
1064
+ * Re-stored the option to auto redirect to plugn settings after plugin activation.
1065
+ * Fixed issue with nasted fields in Formidable forms.
1066
+
1067
  = 5.40.3 2016-05-26 =
1068
  * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
1069
  * Added JSON encoding for AJAX forms.