Spam protection, AntiSpam, FireWall by CleanTalk - Version 2.48

Version Description

Download this release

Release Info

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

Code changes from version 2.44 to 2.48

Files changed (5) hide show
  1. cleantalk-admin.php +34 -13
  2. cleantalk.class.php +6 -2
  3. cleantalk.php +60 -18
  4. readme.txt +34 -17
  5. screenshot-1.png +0 -0
cleantalk-admin.php CHANGED
@@ -22,17 +22,25 @@ function ct_admin_add_page() {
22
  * Admin action 'admin_init' - Add the admin settings and such
23
  */
24
  function ct_admin_init() {
25
- global $show_ct_notice_trial, $ct_notice_trial_label, $show_ct_notice_online, $ct_notice_online_label, $trial_notice_check_timeout;
26
 
27
  $show_ct_notice_trial = false;
28
  if (isset($_COOKIE[$ct_notice_trial_label])) {
29
  if ($_COOKIE[$ct_notice_trial_label] == 1)
30
  $show_ct_notice_trial = true;
31
  } else {
 
 
 
 
 
 
 
32
  $options = ct_get_options();
33
- if (function_exists('curl_init') && function_exists('json_decode') && ct_valid_key($options['apikey'])) {
 
34
  $url = 'https://cleantalk.org/app_notice';
35
- $server_timeout = 1;
36
  $data['auth_key'] = $options['apikey'];
37
  $data['param'] = 'notice_paid_till';
38
 
@@ -62,8 +70,10 @@ function ct_admin_init() {
62
  }
63
  }
64
  }
65
-
66
- setcookie($ct_notice_trial_label, (int) $show_ct_notice_trial, strtotime("+$trial_notice_check_timeout minutes"), '/');
 
 
67
  }
68
 
69
  $show_ct_notice_online = '';
@@ -229,17 +239,22 @@ input[type=submit] {padding: 10px; background: #3399FF; color: #fff; border:0 no
229
  * @return bool
230
  */
231
  function admin_notice_message(){
232
- global $show_ct_notice_trial, $show_ct_notice_online;
233
 
234
  if (ct_active() === false)
235
  return false;
236
-
237
  $options = ct_get_options();
238
  $show_notice = true;
239
  if ($show_notice && ct_valid_key($options['apikey']) === false) {
240
  echo '<div class="updated"><h3>' . __("Please enter the Access Key in <a href=\"options-general.php?page=cleantalk\">CleanTalk plugin</a> settings to enable protection from spam!", 'cleantalk') . '</h3></div>';
241
  }
242
 
 
 
 
 
 
243
  if ($show_notice && !empty($show_ct_notice_online)) {
244
  echo '<div class="updated"><h3><b>';
245
  if($show_ct_notice_online === 'Y'){
@@ -250,11 +265,6 @@ function admin_notice_message(){
250
  echo '</b></h3></div>';
251
  }
252
 
253
- if ($show_notice && $show_ct_notice_trial) {
254
- echo '<div class="updated"><h3>' . __("CleanTalk anti-spam trial period will end soon, please upgrade to <a href=\"http://cleantalk.org/my\" target=\"_blank\"><b>premium version</b></a>!", 'cleantalk') . '</h3></div>';
255
- $show_notice = false;
256
- }
257
-
258
  ct_send_feedback();
259
 
260
  delete_spam_comments();
@@ -410,7 +420,7 @@ if (!function_exists ( 'ct_plugin_action_links')) {
410
  * @return array
411
  */
412
  function ct_update_option($option_name) {
413
- global $show_ct_notice_online, $ct_notice_online_label;
414
  if($option_name !== 'cleantalk_settings')
415
  return;
416
  $ct_base_call_result = ct_base_call(array(
@@ -428,7 +438,18 @@ function ct_update_option($option_name) {
428
  setcookie($ct_notice_online_label, 0, null, '/');
429
  }else{
430
  setcookie($ct_notice_online_label, 1, strtotime("+5 seconds"), '/');
 
431
  }
432
  }
433
 
 
 
 
 
 
 
 
 
 
 
434
  ?>
22
  * Admin action 'admin_init' - Add the admin settings and such
23
  */
24
  function ct_admin_init() {
25
+ global $show_ct_notice_trial, $ct_notice_trial_label, $show_ct_notice_online, $ct_notice_online_label, $trial_notice_check_timeout, $pagenow;
26
 
27
  $show_ct_notice_trial = false;
28
  if (isset($_COOKIE[$ct_notice_trial_label])) {
29
  if ($_COOKIE[$ct_notice_trial_label] == 1)
30
  $show_ct_notice_trial = true;
31
  } else {
32
+ // Run function only on special pages
33
+ $working_pages = array("plugins.php", "options-general.php");
34
+ $do_request = false;
35
+ if (in_array($pagenow, $working_pages)) {
36
+ $do_request = true;
37
+ }
38
+
39
  $options = ct_get_options();
40
+ $result = false;
41
+ if (function_exists('curl_init') && function_exists('json_decode') && ct_valid_key($options['apikey']) && $do_request) {
42
  $url = 'https://cleantalk.org/app_notice';
43
+ $server_timeout = 2;
44
  $data['auth_key'] = $options['apikey'];
45
  $data['param'] = 'notice_paid_till';
46
 
70
  }
71
  }
72
  }
73
+
74
+ if ($result) {
75
+ setcookie($ct_notice_trial_label, (int) $show_ct_notice_trial, strtotime("+$trial_notice_check_timeout minutes"), '/');
76
+ }
77
  }
78
 
79
  $show_ct_notice_online = '';
239
  * @return bool
240
  */
241
  function admin_notice_message(){
242
+ global $show_ct_notice_trial, $show_ct_notice_online, $ct_plugin_name;
243
 
244
  if (ct_active() === false)
245
  return false;
246
+
247
  $options = ct_get_options();
248
  $show_notice = true;
249
  if ($show_notice && ct_valid_key($options['apikey']) === false) {
250
  echo '<div class="updated"><h3>' . __("Please enter the Access Key in <a href=\"options-general.php?page=cleantalk\">CleanTalk plugin</a> settings to enable protection from spam!", 'cleantalk') . '</h3></div>';
251
  }
252
 
253
+ if ($show_notice && $show_ct_notice_trial) {
254
+ echo '<div class="updated"><h3>' . __("<a href=\"options-general.php?page=cleantalk\">$ct_plugin_name</a> trial period will end soon, please upgrade to <a href=\"http://cleantalk.org/my\" target=\"_blank\"><b>premium version</b></a>!", 'cleantalk') . '</h3></div>';
255
+ $show_notice = false;
256
+ }
257
+
258
  if ($show_notice && !empty($show_ct_notice_online)) {
259
  echo '<div class="updated"><h3><b>';
260
  if($show_ct_notice_online === 'Y'){
265
  echo '</b></h3></div>';
266
  }
267
 
 
 
 
 
 
268
  ct_send_feedback();
269
 
270
  delete_spam_comments();
420
  * @return array
421
  */
422
  function ct_update_option($option_name) {
423
+ global $show_ct_notice_online, $ct_notice_online_label, $ct_notice_trial_label, $trial_notice_check_timeout;
424
  if($option_name !== 'cleantalk_settings')
425
  return;
426
  $ct_base_call_result = ct_base_call(array(
438
  setcookie($ct_notice_online_label, 0, null, '/');
439
  }else{
440
  setcookie($ct_notice_online_label, 1, strtotime("+5 seconds"), '/');
441
+ setcookie($ct_notice_trial_label, (int) 0, strtotime("+$trial_notice_check_timeout minutes"), '/');
442
  }
443
  }
444
 
445
+
446
+ /**
447
+ * Tests account status
448
+ * @return array
449
+ */
450
+ function ct_check_trial_notice() {
451
+
452
+ return null;
453
+ }
454
+
455
  ?>
cleantalk.class.php CHANGED
@@ -898,8 +898,12 @@ class Cleantalk {
898
  return mb_convert_encoding($str, 'UTF-8', $data_codepage);
899
 
900
  $encoding = mb_detect_encoding($str);
901
- if ($encoding)
902
- return @mb_convert_encoding($str, 'UTF-8', $encoding);
 
 
 
 
903
  }
904
 
905
  return $str;
898
  return mb_convert_encoding($str, 'UTF-8', $data_codepage);
899
 
900
  $encoding = mb_detect_encoding($str);
901
+ if ($encoding && $encoding != 'UTF-8') {
902
+ $str = mb_convert_encoding($str, 'UTF-8', $encoding);
903
+ } else {
904
+ // Final cut of non UTF-8 characters
905
+ $str = preg_replace('/[^(\x20-\x7F)]*/','', $str);
906
+ }
907
  }
908
 
909
  return $str;
cleantalk.php CHANGED
@@ -3,14 +3,15 @@
3
  Plugin Name: Anti-spam by CleanTalk
4
  Plugin URI: http://cleantalk.org
5
  Description: Cloud antispam for comments, registrations and contacts. The plugin doesn't use CAPTCHA, Q&A, math, counting animals or quiz to stop spam bots.
6
- Version: 2.44
7
  Author: СleanTalk <welcome@cleantalk.ru>
8
  Author URI: http://cleantalk.org
9
  */
10
 
11
  define('CLEANTALK_PLUGIN_DIR', plugin_dir_path(__FILE__));
12
 
13
- $ct_agent_version = 'wordpress-244';
 
14
  $ct_checkjs_frm = 'ct_checkjs_frm';
15
  $ct_checkjs_register_form = 'ct_checkjs_register_form';
16
  $ct_session_request_id_label = 'request_id';
@@ -56,9 +57,12 @@ $ct_wplp_result_label = 'ct_wplp_result';
56
  // Flag indicates active JetPack comments
57
  $ct_jp_comments = false;
58
 
59
- // S2member post data label
60
  $ct_post_data_label = 's2member_pro_paypal_registration';
61
 
 
 
 
62
  // Form time load label
63
  $ct_formtime_label = 'formtime';
64
 
@@ -81,6 +85,10 @@ add_action('register_form','ct_register_form');
81
  add_filter('registration_errors', 'ct_registration_errors', 10, 3);
82
  add_action('user_register', 'ct_user_register');
83
 
 
 
 
 
84
  // BuddyPress
85
  add_action('bp_before_registration_submit_buttons','ct_register_form');
86
  add_filter('bp_signup_validate', 'ct_registration_errors');
@@ -124,7 +132,7 @@ if (is_admin()) {
124
  * @return mixed[] Array of options
125
  */
126
  function ct_init() {
127
- global $ct_wplp_result_label, $ct_jp_comments, $ct_post_data_label;
128
 
129
  ct_init_session();
130
 
@@ -154,7 +162,7 @@ function ct_init() {
154
  }
155
 
156
  // intercept S2member POST
157
- if (defined('WS_PLUGIN__S2MEMBER_PRO_VERSION') && isset($_POST[$ct_post_data_label]['email'])){
158
  ct_s2member_registration_test();
159
  }
160
  }
@@ -184,7 +192,7 @@ function ct_get_options() {
184
  function ct_def_options() {
185
  $lang = get_bloginfo('language');
186
  return array(
187
- 'server' => 'http://moderate.cleantalk.ru',
188
  'apikey' => __('enter key', 'cleantalk'),
189
  'autoPubRevelantMess' => '1',
190
  'registrations_test' => '1',
@@ -256,6 +264,8 @@ function ct_feedback($hash, $message = null, $allow) {
256
  */
257
  function ct_send_feedback($feedback_request = null) {
258
 
 
 
259
  if (empty($feedback_request) && isset($_SESSION['feedback_request']) && preg_match("/^[a-z0-9\;\:]+$/", $_SESSION['feedback_request'])) {
260
  $feedback_request = $_SESSION['feedback_request'];
261
  unset($_SESSION['feedback_request']);
@@ -417,7 +427,7 @@ function ct_footer_add_cookie() {
417
  * @param int $post_id Post ID, not used
418
  */
419
  function ct_add_hidden_fields($post_id = null, $field_name = 'ct_checkjs', $return_string = false, $cookie_check = false) {
420
- global $ct_checkjs_def, $ct_formtime_label;
421
 
422
  $ct_checkjs_key = ct_get_checkjs_value();
423
 
@@ -460,6 +470,8 @@ function ct_set_challenge(val) {
460
  ';
461
  $html = sprintf($html, $field_id, $field_name, $ct_checkjs_def, $field_id, $ct_checkjs_key);
462
  };
 
 
463
 
464
  if ($return_string === true) {
465
  return $html;
@@ -593,16 +605,8 @@ function ct_preprocess_comment($comment) {
593
  return $comment;
594
  }
595
 
596
- $wp_host = null;
597
- if (preg_match("@^(?:https?://)([^/:]+)@i", get_permalink($comment['comment_post_ID']), $matches))
598
- $wp_host = $matches[1];
599
-
600
- $author_host = null;
601
- if (preg_match("@^(?:https?://)([^/:]+)@i", $comment['comment_author_url'], $matches))
602
- $author_host = $matches[1];
603
-
604
- // Skip tests for selfmade pingback's
605
- if ($comment['comment_type'] == 'pingback' && $wp_host !== null && $wp_host === $author_host) {
606
  return $comment;
607
  }
608
 
@@ -964,6 +968,38 @@ function ct_login_message($message) {
964
  return $message;
965
  }
966
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
967
  /**
968
  * Test users registration
969
  * @return array with errors
@@ -1410,7 +1446,7 @@ function ct_check_wplp(){
1410
  * @return array with errors
1411
  */
1412
  function ct_s2member_registration_test() {
1413
- global $ct_agent_version, $ct_post_data_label;
1414
 
1415
  $options = ct_get_options();
1416
  if ($options['registrations_test'] == 0) {
@@ -1436,10 +1472,16 @@ function ct_s2member_registration_test() {
1436
  $sender_email = null;
1437
  if (isset($_POST[$ct_post_data_label]['email']))
1438
  $sender_email = $_POST[$ct_post_data_label]['email'];
 
 
 
1439
 
1440
  $sender_nickname = null;
1441
  if (isset($_POST[$ct_post_data_label]['username']))
1442
  $sender_nickname = $_POST[$ct_post_data_label]['username'];
 
 
 
1443
 
1444
  $config = get_option('cleantalk_server');
1445
 
3
  Plugin Name: Anti-spam by CleanTalk
4
  Plugin URI: http://cleantalk.org
5
  Description: Cloud antispam for comments, registrations and contacts. The plugin doesn't use CAPTCHA, Q&A, math, counting animals or quiz to stop spam bots.
6
+ Version: 2.47
7
  Author: СleanTalk <welcome@cleantalk.ru>
8
  Author URI: http://cleantalk.org
9
  */
10
 
11
  define('CLEANTALK_PLUGIN_DIR', plugin_dir_path(__FILE__));
12
 
13
+ $ct_agent_version = 'wordpress-247';
14
+ $ct_plugin_name = 'Anti-spam by CleanTalk';
15
  $ct_checkjs_frm = 'ct_checkjs_frm';
16
  $ct_checkjs_register_form = 'ct_checkjs_register_form';
17
  $ct_session_request_id_label = 'request_id';
57
  // Flag indicates active JetPack comments
58
  $ct_jp_comments = false;
59
 
60
+ // S2member PayPal post data label
61
  $ct_post_data_label = 's2member_pro_paypal_registration';
62
 
63
+ // S2member Auth.Net post data label
64
+ $ct_post_data_authnet_label = 's2member_pro_authnet_registration';
65
+
66
  // Form time load label
67
  $ct_formtime_label = 'formtime';
68
 
85
  add_filter('registration_errors', 'ct_registration_errors', 10, 3);
86
  add_action('user_register', 'ct_user_register');
87
 
88
+ // Multisite registrations
89
+ add_action('signup_extra_fields','ct_register_form');
90
+ add_filter('wpmu_validate_user_signup', 'ct_registration_errors_wpmu', 10, 3);
91
+
92
  // BuddyPress
93
  add_action('bp_before_registration_submit_buttons','ct_register_form');
94
  add_filter('bp_signup_validate', 'ct_registration_errors');
132
  * @return mixed[] Array of options
133
  */
134
  function ct_init() {
135
+ global $ct_wplp_result_label, $ct_jp_comments, $ct_post_data_label, $ct_post_data_authnet_label;
136
 
137
  ct_init_session();
138
 
162
  }
163
 
164
  // intercept S2member POST
165
+ if (defined('WS_PLUGIN__S2MEMBER_PRO_VERSION') && (isset($_POST[$ct_post_data_label]['email']) || isset($_POST[$ct_post_data_authnet_label]['email']))){
166
  ct_s2member_registration_test();
167
  }
168
  }
192
  function ct_def_options() {
193
  $lang = get_bloginfo('language');
194
  return array(
195
+ 'server' => 'http://moderate.cleantalk.org',
196
  'apikey' => __('enter key', 'cleantalk'),
197
  'autoPubRevelantMess' => '1',
198
  'registrations_test' => '1',
264
  */
265
  function ct_send_feedback($feedback_request = null) {
266
 
267
+ return false;
268
+
269
  if (empty($feedback_request) && isset($_SESSION['feedback_request']) && preg_match("/^[a-z0-9\;\:]+$/", $_SESSION['feedback_request'])) {
270
  $feedback_request = $_SESSION['feedback_request'];
271
  unset($_SESSION['feedback_request']);
427
  * @param int $post_id Post ID, not used
428
  */
429
  function ct_add_hidden_fields($post_id = null, $field_name = 'ct_checkjs', $return_string = false, $cookie_check = false) {
430
+ global $ct_checkjs_def, $ct_formtime_label, $ct_plugin_name;
431
 
432
  $ct_checkjs_key = ct_get_checkjs_value();
433
 
470
  ';
471
  $html = sprintf($html, $field_id, $field_name, $ct_checkjs_def, $field_id, $ct_checkjs_key);
472
  };
473
+
474
+ $html .= '<noscript><p><b>Please enable JavaScript to pass anti-spam protection!</b><br />Here are the instructions how to enable JavaScript in your web browser <a href="http://www.enable-javascript.com" rel="nofollow" target="_blank">http://www.enable-javascript.com</a>.<br />' . $ct_plugin_name . '.</p></noscript>';
475
 
476
  if ($return_string === true) {
477
  return $html;
605
  return $comment;
606
  }
607
 
608
+ // Skip pingback anti-spam test
609
+ if ($comment['comment_type'] == 'pingback') {
 
 
 
 
 
 
 
 
610
  return $comment;
611
  }
612
 
968
  return $message;
969
  }
970
 
971
+ /**
972
+ * Test users registration for multisite enviroment
973
+ * @return array with errors
974
+ */
975
+ function ct_registration_errors_wpmu($errors) {
976
+ //
977
+ // Multisite actions
978
+ //
979
+ $sanitized_user_login = null;
980
+ if (isset($errors['user_name'])) {
981
+ $sanitized_user_login = $errors['user_name'];
982
+ $wpmu = true;
983
+ }
984
+ $user_email = null;
985
+ if (isset($errors['user_email'])) {
986
+ $user_email = $errors['user_email'];
987
+ $wpmu = true;
988
+ }
989
+
990
+ if ($wpmu && isset($errors['errors']->errors) && count($errors['errors']->errors) > 0) {
991
+ return $errors;
992
+ }
993
+ $errors['errors'] = ct_registration_errors($errors['errors'], $sanitized_user_login, $user_email);
994
+
995
+ // Show CleanTalk errors in user_name field
996
+ if (isset($errors['errors']->errors['ct_error'])) {
997
+ $errors['errors']->errors['user_name'] = $errors['errors']->errors['ct_error'];
998
+ unset($errors['errors']->errors['ct_error']);
999
+ }
1000
+
1001
+ return $errors;
1002
+ }
1003
  /**
1004
  * Test users registration
1005
  * @return array with errors
1446
  * @return array with errors
1447
  */
1448
  function ct_s2member_registration_test() {
1449
+ global $ct_agent_version, $ct_post_data_label, $ct_post_data_authnet_label;
1450
 
1451
  $options = ct_get_options();
1452
  if ($options['registrations_test'] == 0) {
1472
  $sender_email = null;
1473
  if (isset($_POST[$ct_post_data_label]['email']))
1474
  $sender_email = $_POST[$ct_post_data_label]['email'];
1475
+
1476
+ if (isset($_POST[$ct_post_data_authnet_label]['email']))
1477
+ $sender_email = $_POST[$ct_post_data_authnet_label]['email'];
1478
 
1479
  $sender_nickname = null;
1480
  if (isset($_POST[$ct_post_data_label]['username']))
1481
  $sender_nickname = $_POST[$ct_post_data_label]['username'];
1482
+
1483
+ if (isset($_POST[$ct_post_data_authnet_label]['username']))
1484
+ $sender_nickname = $_POST[$ct_post_data_authnet_label]['username'];
1485
 
1486
  $config = get_option('cleantalk_server');
1487
 
readme.txt CHANGED
@@ -1,13 +1,13 @@
1
  === Anti-spam by CleanTalk ===
2
  Contributors: znaeff, shagimuratov
3
- Tags: antispam, anti-spam, anti spam, spam, spammers, captcha, comments, registration, contact form, blacklists, math, signup, formidable, bot, spam bots, спам, quiz, spammy, капча, s2member
4
  Requires at least: 3.0
5
  Tested up to: 3.9.1
6
- Stable tag: 2.44
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
- No spam comments, no spam registrations, no spam contact emails in WordPress.
11
 
12
  == Description ==
13
  No CAPTCHA, no questions, no counting animals, no puzzles, no math and no spam bots.
@@ -31,11 +31,13 @@ CleanTalk is an antispam protection **4 in 1 for WordPress** that protects login
31
 
32
  CleanTalk is a transparent antispam protection, we provide detailed statistics of all entering comments and logins. You can always be sure that **there are no errors**. We have developed a mobile app for you to see antispam statistics wherever whenever.
33
 
34
- We have developed anti-spam for WordPress that would provide **maximum protection from spam** and you can provide for your visitors **a simple and convenient form of comments/registrations without annoying CAPTCHAs and puzzles**. Used to detect spam multistage test that allows us to block up to 100% of spam bots.
 
 
35
 
36
  The plugin developers had a long time experience in front-end, backend and server-side PHP programming, client side JavaScript and HTML programming. We were looking for an anti spam tool which is strong for spam bots and invisible to visitors, but nothing matched their criteria. So, we are started an anti-spam project called CleanTalk.
37
 
38
- The CleanTalk is premium anti-spam for WordPress, please look at the <a href="http://cleantalk.org/price">pricing</a>. We try to provide the service at the highest level and we can not afford to offer a free version of our service, as this will immediately affect the quality of providing anti spam protection. Paying for a year of service, you save a lot more and get:
39
 
40
  * Up to 100% protection from spam bots.
41
  * Simple and convenient form of commenting/registrations without captcha.
@@ -63,31 +65,31 @@ The setup is done! You can control anti-spam plugin by <a href="http://cleantalk
63
 
64
  == Frequently Asked Questions ==
65
 
66
- = How plugin stops spam? =
67
- Plugin uses several simple tests to stop spammers.
68
 
69
- * Spam bots signatures.
70
- * JavaScript antispam test.
71
- * Checks by Email, IP, web-sites domain at <a href="http://cleantalk.org/blacklists" target="_blank">spam activities list</a>.
72
- * Comment submit time. Spam bots usually send post immediately after page load.
73
 
74
- = How plugin works with spam comments? =
75
- Spam comments moves to SPAM folder. First comment from a new author plugin compares with post and previous comments. If the relevance of the comment is good enough it gets approval at the blog without manual approval.
 
 
76
 
77
  = Will anti spam protects my theme? =
78
- Plugin works with all WordPress themes, for example - Responsive, Twenty Eleven, Twenty Twelve, Twenty Ten, Twenty Thirteen, Sixteen, Radiate, Alexandria, Swift Basic, Ridizain, Customizr, Catch Box, Twenty Fourteen, Virtue, Tempera, Pinboard, hemingway, Vantage, Weaver II, Buzz, Omega, iFeature, Simple Catch and etc. With some themes may not works JavaScript anti-spam method, but it's not crucial to protect your blog from spam bots.
79
 
80
  = How can I test anti-spam protection? =
81
  Please use email **stop_email@example.com** for comments, contacts or signups. Also you can see comments processed by plugin for last 7 days at <a href="http://cleantalk.org/my/show_requests">Control panel</a> or look at folder "Spam" for banned comments.
82
 
83
- = How the plugin is effective against spam bots? =
84
  Plugin Anti-spam by CleanTalk stops up to 100% of spam comments, spam signups (registrations) and spam contact emails. More over, by determining the relevance of the comment text, the plugin stops about 96% spam comments submitted manually via browser.
85
 
86
  = What about pingback, trackback spam? =
87
- Plugin by default pass not spam pingbacks/trackbacks (sender host clear at <a href="http://cleantalk.org/blacklists">blacklists IP</a> database) from third-party sites to the blog. If the pingback has more then 3 records in the blacklists and not relevant to the blog the pingback will be stopped by CleanTalk.
88
 
89
  = Should I use another antispam plugins? =
90
- Use other antispam plugins not necessarily, because CleanTalk stops up to 100% of spam bots. In some cases several anti-spam plugins can conflict, so it will be better use just one plugin.
91
 
92
  = The plugin WordPress MultiUser (WPMU or WordPress network) compatible? =
93
  The plugin is WordPress MultiUser (WPMU or WordPress network) compatible. Each blog in multisite environment has individual anit spam options for spam bots protection.
@@ -106,6 +108,9 @@ The plugin has several options to detect spam bots and humans. If you just post
106
 
107
  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.
108
 
 
 
 
109
  == Other notes ==
110
 
111
  = Troubleshooting Guide =
@@ -118,6 +123,10 @@ If you're having trouble getting things to work after installing the plugin, her
118
  1. If you have spam comments, signups or contacts please check the Access key at plugin settings. The key should be same as you can find in service <a href="https://cleantalk.org/my/">Control panel</a>.
119
  1. If you have spam contact emails after plugin installation, please check your plugin with list of supported contact forms (see section **Anti-spam protection**).
120
 
 
 
 
 
121
  = Requirements =
122
  WordPress 3.0 at least. PHP 4, 5 with CURL or file_get_contents() function and enabled 'allow_url_fopen' setting. <a href="http://cleantalk.org/register?platform=wordpress">Sign up</a> to get an Access key.
123
 
@@ -131,6 +140,10 @@ WordPress 3.0 at least. PHP 4, 5 with CURL or file_get_contents() function and e
131
  1. Anti spam stopped spam bot at the registration form.
132
 
133
  == Changelog ==
 
 
 
 
134
  = 2.44 2014-05-12 =
135
  * Added: Anti-spam protection for S2Member framework. 
136
  * Improved: JavaScript anti-spam test. 
@@ -312,6 +325,10 @@ WordPress 3.0 at least. PHP 4, 5 with CURL or file_get_contents() function and e
312
  * First version
313
 
314
  == Upgrade Notice ==
 
 
 
 
315
  = 2.44 2014-05-12 =
316
  * Added: Anti-spam protection for S2Member framework. 
317
  * Improved: Plugin load time for backend and frontend.
1
  === Anti-spam by CleanTalk ===
2
  Contributors: znaeff, shagimuratov
3
+ Tags: antispam, anti-spam, anti spam, spam, spammers, captcha, comments, registration, contact form, blacklist, math, signup, formidable, bot, spam bots, quiz, spammy, s2member, wordpress, support, BuddyPress, bbpress, landing pages, fast secure contact form, WooCommerce, jetpack, cache, question
4
  Requires at least: 3.0
5
  Tested up to: 3.9.1
6
+ Stable tag: 2.46
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
+ SPAM defender for WordPress - no spam comments, no spam registrations, no spam contact emails. It's robutst anti-spam without CAPTCHAs.
11
 
12
  == Description ==
13
  No CAPTCHA, no questions, no counting animals, no puzzles, no math and no spam bots.
31
 
32
  CleanTalk is a transparent antispam protection, we provide detailed statistics of all entering comments and logins. You can always be sure that **there are no errors**. We have developed a mobile app for you to see antispam statistics wherever whenever.
33
 
34
+ We have developed anti-spam for WordPress that would provide **maximum protection from spam bots** and you can provide for your visitors **a simple and convenient form of comments/registrations without annoying CAPTCHAs and puzzles**. Used to detect spam multistage test that allows us to block up to 100% of spam bots.
35
+
36
+ The anti spam method offered by CleanTalk allows to switch from the methods that trouble the communication (CAPTCHA, question-answer etc.) to a more convenient one.
37
 
38
  The plugin developers had a long time experience in front-end, backend and server-side PHP programming, client side JavaScript and HTML programming. We were looking for an anti spam tool which is strong for spam bots and invisible to visitors, but nothing matched their criteria. So, we are started an anti-spam project called CleanTalk.
39
 
40
+ The CleanTalk is premium anti spam for WordPress, please look at the <a href="http://cleantalk.org/price">pricing</a>. We try to provide the service at the highest level and we can not afford to offer a free version of our service, as this will immediately affect the quality of providing anti spam protection. Paying for a year of service, you save a lot more and get:
41
 
42
  * Up to 100% protection from spam bots.
43
  * Simple and convenient form of commenting/registrations without captcha.
65
 
66
  == Frequently Asked Questions ==
67
 
68
+ = How does the plugin work with spam comments? =
69
+ Spam comments moves to SPAM folder. First comment from a new author plugin compares with post and previous comments. If the relevance of the comment is good enough it gets approval at the blog without manual approval.
70
 
71
+ = How does the plugin stop spam? =
72
+ Plugin uses several simple tests to stop spammers.
 
 
73
 
74
+ 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.
75
+ 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.
76
+ 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 send the data within several seconds or minutes.
77
+ 1. Relevance test for the comments. Spam bots posts send to the blog comments which are not matched with article by relevance, so the plugin can filter spam bots with offtop filter.
78
 
79
  = Will anti spam protects my theme? =
80
+ Yes, it will. The plugin compatible with any WordPress themes.
81
 
82
  = How can I test anti-spam protection? =
83
  Please use email **stop_email@example.com** for comments, contacts or signups. Also you can see comments processed by plugin for last 7 days at <a href="http://cleantalk.org/my/show_requests">Control panel</a> or look at folder "Spam" for banned comments.
84
 
85
+ = Is the plugin effective against spam bots? =
86
  Plugin Anti-spam by CleanTalk stops up to 100% of spam comments, spam signups (registrations) and spam contact emails. More over, by determining the relevance of the comment text, the plugin stops about 96% spam comments submitted manually via browser.
87
 
88
  = What about pingback, trackback spam? =
89
+ Plugin by default pass pingbacks without any checks. All trackbacks will be blocked if the sender have spam activity.
90
 
91
  = Should I use another antispam plugins? =
92
+ CleanTalk stops up to 100% 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.
93
 
94
  = The plugin WordPress MultiUser (WPMU or WordPress network) compatible? =
95
  The plugin is WordPress MultiUser (WPMU or WordPress network) compatible. Each blog in multisite environment has individual anit spam options for spam bots protection.
108
 
109
  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.
110
 
111
+ = Can I use CleanTalk with cache plugins? =
112
+ CleanTalk doesn't use static HTML code into templates, so all anit spam functions will works correctly with any WordPress cache plugins.
113
+
114
  == Other notes ==
115
 
116
  = Troubleshooting Guide =
123
  1. If you have spam comments, signups or contacts please check the Access key at plugin settings. The key should be same as you can find in service <a href="https://cleantalk.org/my/">Control panel</a>.
124
  1. If you have spam contact emails after plugin installation, please check your plugin with list of supported contact forms (see section **Anti-spam protection**).
125
 
126
+ = CAPTCHA =
127
+ The annoying picture with curved and sloping symbols, which are offered to the visitor to fill in. It is supposed that spam bots won’t discern these symbols, but a visitor will. CAPTCHA provokes great irritation, but if one wants to speak out, he has to fill in these symbols time after time, making mistakes and starting once again. At the sight of CAPTCHA and after input errors, many visitors leave the resource. Thus, CAPTCHA helps to protect the resource from visitors. Spam bots can automatically recognize Captcha.
128
+ Spam bots can not pass through the anti-spam CleanTalk, complex invisible checks can immediately detect spam bots.
129
+
130
  = Requirements =
131
  WordPress 3.0 at least. PHP 4, 5 with CURL or file_get_contents() function and enabled 'allow_url_fopen' setting. <a href="http://cleantalk.org/register?platform=wordpress">Sign up</a> to get an Access key.
132
 
140
  1. Anti spam stopped spam bot at the registration form.
141
 
142
  == Changelog ==
143
+ = 2.44 2014-05-19 =
144
+ * Added: HTML notice about the need to enable JavaScript.
145
+ * Fixed: Fixed pingbacks anti-spam test.
146
+
147
  = 2.44 2014-05-12 =
148
  * Added: Anti-spam protection for S2Member framework. 
149
  * Improved: JavaScript anti-spam test. 
325
  * First version
326
 
327
  == Upgrade Notice ==
328
+ = 2.44 2014-05-19 =
329
+ * Added: HTML notice about the need to enable JavaScript.
330
+ * Fixed: Fixed pingbacks anti-spam test.
331
+
332
  = 2.44 2014-05-12 =
333
  * Added: Anti-spam protection for S2Member framework. 
334
  * Improved: Plugin load time for backend and frontend.
screenshot-1.png CHANGED
Binary file