Version Description
2016-05-26 = * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers. * Added JSON encoding for AJAX forms. * Obfuscated private data for Custom contact forms option. * Optimized bulk users check for spam over blacklists database. * Fixed issue with lost connection to servers and JavaScript anti-spam test. * Fixed issue with WordFence and collect_details.
Download this release
Release Info
Developer | shagimuratov |
Plugin | Spam protection, AntiSpam, FireWall by CleanTalk |
Version | 5.40.3 |
Comparing to | |
See all releases |
Code changes from version 5.40.2 to 5.40.3
- cleantalk.php +3 -3
- i18n/cleantalk-ru_RU.mo +0 -0
- inc/cleantalk-admin.php +22 -1
- inc/cleantalk-ajax.php +16 -26
- inc/cleantalk-common.php +34 -5
- inc/cleantalk-public.php +7 -5
- inc/cleantalk-users.php +4 -24
- readme.txt +12 -13
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.
|
7 |
Author: СleanTalk <welcome@cleantalk.org>
|
8 |
Author URI: http://cleantalk.org
|
9 |
*/
|
10 |
-
$cleantalk_plugin_version='5.40.
|
11 |
-
$ct_agent_version = 'wordpress-
|
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.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 |
|
i18n/cleantalk-ru_RU.mo
CHANGED
Binary file
|
inc/cleantalk-admin.php
CHANGED
@@ -398,7 +398,8 @@ 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 |
-
|
|
|
402 |
add_settings_field('cleantalk_spam_firewall', __('', 'cleantalk'), 'ct_input_spam_firewall', 'cleantalk', 'cleantalk_settings_banner');
|
403 |
add_settings_field('cleantalk_collect_details', __('Collect details about browsers', 'cleantalk'), 'ct_input_collect_details', 'cleantalk', 'cleantalk_settings_anti_spam');
|
404 |
add_settings_field('cleantalk_show_link', __('', 'cleantalk'), 'ct_input_show_link', 'cleantalk', 'cleantalk_settings_banner');
|
@@ -908,6 +909,26 @@ function ct_input_set_cookies() {
|
|
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() {
|
912 |
global $ct_options, $ct_data;
|
913 |
|
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');
|
405 |
add_settings_field('cleantalk_show_link', __('', 'cleantalk'), 'ct_input_show_link', 'cleantalk', 'cleantalk_settings_banner');
|
909 |
@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')));
|
910 |
}
|
911 |
|
912 |
+
function ct_input_ssl_on() {
|
913 |
+
global $ct_options, $ct_data;
|
914 |
+
|
915 |
+
$ct_options = ct_get_options();
|
916 |
+
$ct_data = ct_get_data();
|
917 |
+
|
918 |
+
if(isset($ct_options['ssl_on']))
|
919 |
+
{
|
920 |
+
$value = @intval($ct_options['ssl_on']);
|
921 |
+
}
|
922 |
+
else
|
923 |
+
{
|
924 |
+
$value=0;
|
925 |
+
}
|
926 |
+
echo "<input type='radio' id='cleantalk_ssl_on1' name='cleantalk_settings[ssl_on]' value='1' " . ($value == '1' ? 'checked' : '') . " /><label for='cleantalk_ssl_on1'> " . __('Yes') . "</label>";
|
927 |
+
echo ' ';
|
928 |
+
echo "<input type='radio' id='cleantalk_ssl_on0' name='cleantalk_settings[ssl_on]' value='0' " . ($value == '0' ? 'checked' : '') . " /><label for='cleantalk_ssl_on0'> " . __('No') . "</label>";
|
929 |
+
@admin_addDescriptionsFields(sprintf(__('Turn this option on to use encrypted (SSL) connection with CleanTalk servers.', 'cleantalk')));
|
930 |
+
}
|
931 |
+
|
932 |
function ct_input_show_link() {
|
933 |
global $ct_options, $ct_data;
|
934 |
|
inc/cleantalk-ajax.php
CHANGED
@@ -292,28 +292,6 @@ function ct_user_register_ajaxlogin($user_id)
|
|
292 |
return $user_id;
|
293 |
}
|
294 |
|
295 |
-
function ct_get_fields(&$email,&$message,$arr)
|
296 |
-
{
|
297 |
-
foreach($arr as $key=>$value)
|
298 |
-
{
|
299 |
-
if(!is_array($value))
|
300 |
-
{
|
301 |
-
if ($email === null && preg_match("/^\S+@\S+\.\S+$/", $value))
|
302 |
-
{
|
303 |
-
$email = $value;
|
304 |
-
}
|
305 |
-
else
|
306 |
-
{
|
307 |
-
$message.="$value\n";
|
308 |
-
}
|
309 |
-
}
|
310 |
-
else
|
311 |
-
{
|
312 |
-
ct_get_fields($email,$message,$value);
|
313 |
-
}
|
314 |
-
}
|
315 |
-
}
|
316 |
-
|
317 |
function ct_ajax_hook()
|
318 |
{
|
319 |
require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-public.php');
|
@@ -324,7 +302,9 @@ function ct_ajax_hook()
|
|
324 |
$sender_email = null;
|
325 |
$message = '';
|
326 |
$nickname=null;
|
327 |
-
|
|
|
|
|
328 |
//
|
329 |
// Skip test if Custom contact forms is disabled.
|
330 |
//
|
@@ -375,8 +355,12 @@ function ct_ajax_hook()
|
|
375 |
$_POST['target']=1;
|
376 |
}
|
377 |
|
378 |
-
|
379 |
-
|
|
|
|
|
|
|
|
|
380 |
if(isset($_POST['cscf']['confirm-email']))
|
381 |
{
|
382 |
$_POST['cscf']['confirm-email']=$tmp;
|
@@ -398,6 +382,12 @@ function ct_ajax_hook()
|
|
398 |
{
|
399 |
$sender_info= '';
|
400 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
|
402 |
$ct_base_call_result = ct_base_call(array(
|
403 |
'message' => $message,
|
@@ -405,7 +395,7 @@ function ct_ajax_hook()
|
|
405 |
'sender_email' => $sender_email,
|
406 |
'sender_nickname' => $nickname,
|
407 |
'sender_info' => $sender_info,
|
408 |
-
'post_info'=>
|
409 |
'checkjs' => $checkjs));
|
410 |
|
411 |
$ct = $ct_base_call_result['ct'];
|
292 |
return $user_id;
|
293 |
}
|
294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
function ct_ajax_hook()
|
296 |
{
|
297 |
require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-public.php');
|
302 |
$sender_email = null;
|
303 |
$message = '';
|
304 |
$nickname=null;
|
305 |
+
$contact = true;
|
306 |
+
$subject = '';
|
307 |
+
|
308 |
//
|
309 |
// Skip test if Custom contact forms is disabled.
|
310 |
//
|
355 |
$_POST['target']=1;
|
356 |
}
|
357 |
|
358 |
+
ct_get_fields_any($sender_email, $message, $nickname, $subject, $contact, $_POST);
|
359 |
+
if ($subject != '') {
|
360 |
+
$message = array_merge(array('subject' => $subject), $message);
|
361 |
+
}
|
362 |
+
$message = json_encode($message);
|
363 |
+
|
364 |
if(isset($_POST['cscf']['confirm-email']))
|
365 |
{
|
366 |
$_POST['cscf']['confirm-email']=$tmp;
|
382 |
{
|
383 |
$sender_info= '';
|
384 |
}
|
385 |
+
|
386 |
+
$post_info['comment_type'] = 'feedback_ajax';
|
387 |
+
$post_info = json_encode($post_info);
|
388 |
+
if ($post_info === false)
|
389 |
+
$post_info = '';
|
390 |
+
|
391 |
|
392 |
$ct_base_call_result = ct_base_call(array(
|
393 |
'message' => $message,
|
395 |
'sender_email' => $sender_email,
|
396 |
'sender_nickname' => $nickname,
|
397 |
'sender_info' => $sender_info,
|
398 |
+
'post_info'=> $post_info,
|
399 |
'checkjs' => $checkjs));
|
400 |
|
401 |
$ct = $ct_base_call_result['ct'];
|
inc/cleantalk-common.php
CHANGED
@@ -423,7 +423,8 @@ function ct_def_options() {
|
|
423 |
'relevance_test' => 0, // Test comment for relevance
|
424 |
'notice_api_errors' => 0, // Send API error notices to WP admin
|
425 |
'user_token'=>'', //user token for auto login into spam statistics
|
426 |
-
'set_cookies'=> 1 // Disable cookies generatation to be compatible with Varnish.
|
|
|
427 |
);
|
428 |
}
|
429 |
|
@@ -625,6 +626,15 @@ function ct_get_fields_any(&$email,&$message,&$nickname,&$subject, &$contact,$ar
|
|
625 |
'txn_type', // PayPal transaction type
|
626 |
'payment_status', // PayPal payment status
|
627 |
'ccbill_ipn' //CCBill IPN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
628 |
);
|
629 |
foreach($skip_params as $key=>$value)
|
630 |
{
|
@@ -640,20 +650,26 @@ function ct_get_fields_any(&$email,&$message,&$nickname,&$subject, &$contact,$ar
|
|
640 |
if (in_array($key, $skip_params) && $key!=0 && $key!='' || preg_match("/^ct_checkjs/", $key)) {
|
641 |
$contact = false;
|
642 |
}
|
643 |
-
if (
|
644 |
{
|
645 |
$email = $value;
|
646 |
}
|
647 |
-
else if ($nickname === '' && ct_get_data_from_submit($
|
648 |
{
|
649 |
$nickname = $value;
|
650 |
}
|
651 |
-
else if ($subject === '' && ct_get_data_from_submit($
|
652 |
{
|
653 |
$subject = $value;
|
654 |
}
|
655 |
else
|
656 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
657 |
$message[$key] = $value;
|
658 |
}
|
659 |
}
|
@@ -664,6 +680,19 @@ function ct_get_fields_any(&$email,&$message,&$nickname,&$subject, &$contact,$ar
|
|
664 |
}
|
665 |
}
|
666 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
667 |
function ct_get_fields_any_postdata(&$message,$arr)
|
668 |
{
|
669 |
$skip_params = array(
|
423 |
'relevance_test' => 0, // Test comment for relevance
|
424 |
'notice_api_errors' => 0, // Send API error notices to WP admin
|
425 |
'user_token'=>'', //user token for auto login into spam statistics
|
426 |
+
'set_cookies'=> 1, // Disable cookies generatation to be compatible with Varnish.
|
427 |
+
'collect_details' => 0 // Collect details about browser of the visitor.
|
428 |
);
|
429 |
}
|
430 |
|
626 |
'txn_type', // PayPal transaction type
|
627 |
'payment_status', // PayPal payment status
|
628 |
'ccbill_ipn' //CCBill IPN
|
629 |
+
);
|
630 |
+
$obfuscate_params = array(
|
631 |
+
'password',
|
632 |
+
'password0',
|
633 |
+
'password1',
|
634 |
+
'password2',
|
635 |
+
'pass',
|
636 |
+
'pwd',
|
637 |
+
'user_pass'
|
638 |
);
|
639 |
foreach($skip_params as $key=>$value)
|
640 |
{
|
650 |
if (in_array($key, $skip_params) && $key!=0 && $key!='' || preg_match("/^ct_checkjs/", $key)) {
|
651 |
$contact = false;
|
652 |
}
|
653 |
+
if (!$email && @preg_match("/^\S+@\S+\.\S+$/", $value))
|
654 |
{
|
655 |
$email = $value;
|
656 |
}
|
657 |
+
else if ($nickname === '' && ct_get_data_from_submit($key, 'name'))
|
658 |
{
|
659 |
$nickname = $value;
|
660 |
}
|
661 |
+
else if ($subject === '' && ct_get_data_from_submit($key, 'subject'))
|
662 |
{
|
663 |
$subject = $value;
|
664 |
}
|
665 |
else
|
666 |
+
{
|
667 |
+
//
|
668 |
+
// Obfuscate private data
|
669 |
+
//
|
670 |
+
if (in_array($key, $obfuscate_params)) {
|
671 |
+
$value = ct_obfuscate_param($value);
|
672 |
+
}
|
673 |
$message[$key] = $value;
|
674 |
}
|
675 |
}
|
680 |
}
|
681 |
}
|
682 |
|
683 |
+
/**
|
684 |
+
* Masks a value with asterisks (*)
|
685 |
+
* @return string
|
686 |
+
*/
|
687 |
+
function ct_obfuscate_param ($value = null) {
|
688 |
+
if ($value && is_string($value)) {
|
689 |
+
$length = strlen($value);
|
690 |
+
$value = str_repeat('*', $length);
|
691 |
+
}
|
692 |
+
|
693 |
+
return $value;
|
694 |
+
}
|
695 |
+
|
696 |
function ct_get_fields_any_postdata(&$message,$arr)
|
697 |
{
|
698 |
$skip_params = array(
|
inc/cleantalk-public.php
CHANGED
@@ -1014,7 +1014,7 @@ function ct_test_registration($nickname, $email, $ip){
|
|
1014 |
|
1015 |
if(@intval($ct_result->errno) != 0)
|
1016 |
{
|
1017 |
-
if($
|
1018 |
{
|
1019 |
$ct_result->allow = 0;
|
1020 |
$ct_result->spam = 1;
|
@@ -1092,7 +1092,6 @@ function ct_registration_errors($errors, $sanitized_user_login = null, $user_ema
|
|
1092 |
|
1093 |
$checkjs = js_test($ct_checkjs_register_form, $_POST, true);
|
1094 |
$sender_info['post_checkjs_passed'] = $checkjs;
|
1095 |
-
|
1096 |
//
|
1097 |
// This hack can be helpfull when plugin uses with untested themes&signups plugins.
|
1098 |
//
|
@@ -1143,9 +1142,11 @@ function ct_registration_errors($errors, $sanitized_user_login = null, $user_ema
|
|
1143 |
ct_send_error_notice($ct_result->comment);
|
1144 |
return $errors;
|
1145 |
}*/
|
|
|
1146 |
if(@intval($ct_result->errno) != 0)
|
1147 |
{
|
1148 |
-
|
|
|
1149 |
{
|
1150 |
$ct_result->allow = 0;
|
1151 |
$ct_result->spam = 1;
|
@@ -1522,6 +1523,7 @@ function ct_si_contact_form_validate($form_errors = array(), $form_id_num = 0) {
|
|
1522 |
//getting info from custom fields
|
1523 |
@ct_get_fields_any($sender_email, $message, $sender_nickname, $subject, $contact_form, $_POST);
|
1524 |
//setting fields if they with defaults names
|
|
|
1525 |
if ($subject != '') {
|
1526 |
$message = array_merge(array('subject' => $subject), $message);
|
1527 |
}
|
@@ -1772,7 +1774,7 @@ function ct_s2member_registration_test() {
|
|
1772 |
|
1773 |
if(@intval($ct_result->errno) != 0)
|
1774 |
{
|
1775 |
-
if($
|
1776 |
{
|
1777 |
$ct_result->allow = 0;
|
1778 |
$ct_result->spam = 1;
|
@@ -1870,7 +1872,7 @@ function ct_contact_form_validate () {
|
|
1870 |
$message = array();
|
1871 |
|
1872 |
@ct_get_fields_any($sender_email, $message, $sender_nickname, $subject, $contact_form, $_POST);
|
1873 |
-
|
1874 |
if ($subject != '') {
|
1875 |
$message = array_merge(array('subject' => $subject), $message);
|
1876 |
}
|
1014 |
|
1015 |
if(@intval($ct_result->errno) != 0)
|
1016 |
{
|
1017 |
+
if($checkjs != 1)
|
1018 |
{
|
1019 |
$ct_result->allow = 0;
|
1020 |
$ct_result->spam = 1;
|
1092 |
|
1093 |
$checkjs = js_test($ct_checkjs_register_form, $_POST, true);
|
1094 |
$sender_info['post_checkjs_passed'] = $checkjs;
|
|
|
1095 |
//
|
1096 |
// This hack can be helpfull when plugin uses with untested themes&signups plugins.
|
1097 |
//
|
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;
|
1523 |
//getting info from custom fields
|
1524 |
@ct_get_fields_any($sender_email, $message, $sender_nickname, $subject, $contact_form, $_POST);
|
1525 |
//setting fields if they with defaults names
|
1526 |
+
|
1527 |
if ($subject != '') {
|
1528 |
$message = array_merge(array('subject' => $subject), $message);
|
1529 |
}
|
1774 |
|
1775 |
if(@intval($ct_result->errno) != 0)
|
1776 |
{
|
1777 |
+
if($checkjs !=1)
|
1778 |
{
|
1779 |
$ct_result->allow = 0;
|
1780 |
$ct_result->spam = 1;
|
1872 |
$message = array();
|
1873 |
|
1874 |
@ct_get_fields_any($sender_email, $message, $sender_nickname, $subject, $contact_form, $_POST);
|
1875 |
+
|
1876 |
if ($subject != '') {
|
1877 |
$message = array_merge(array('subject' => $subject), $message);
|
1878 |
}
|
inc/cleantalk-users.php
CHANGED
@@ -11,25 +11,11 @@ function ct_add_users_menu()
|
|
11 |
|
12 |
function ct_show_users_page()
|
13 |
{
|
|
|
14 |
?>
|
15 |
<div class="wrap">
|
16 |
-
<h2><?php
|
17 |
<?php
|
18 |
-
/*$args_unchecked = array(
|
19 |
-
'meta_query' => array(
|
20 |
-
'relation' => 'AND',
|
21 |
-
Array(
|
22 |
-
'key' => 'ct_checked',
|
23 |
-
'value' => '1',
|
24 |
-
'compare' => 'NOT EXISTS'
|
25 |
-
),
|
26 |
-
Array(
|
27 |
-
'key' => 'ct_hash',
|
28 |
-
'value' => '1',
|
29 |
-
'compare' => 'NOT EXISTS'
|
30 |
-
)
|
31 |
-
)
|
32 |
-
);*/
|
33 |
global $wpdb;
|
34 |
$r=$wpdb->get_results("select distinct count($wpdb->users.ID) as cnt from $wpdb->users inner join $wpdb->usermeta on $wpdb->users.ID=$wpdb->usermeta.user_id where $wpdb->usermeta.meta_key='ct_checked' or $wpdb->usermeta.meta_key='ct_hash';");
|
35 |
$cnt_checked=$r[0]->cnt;
|
@@ -238,24 +224,18 @@ function ct_ajax_check_users()
|
|
238 |
|
239 |
$args_unchecked = array(
|
240 |
'meta_query' => array(
|
241 |
-
'relation' => 'AND',
|
242 |
Array(
|
243 |
'key' => 'ct_checked',
|
244 |
'value' => '1',
|
245 |
'compare' => 'NOT EXISTS'
|
246 |
),
|
247 |
-
Array(
|
248 |
-
'key' => 'ct_hash',
|
249 |
-
'value' => '1',
|
250 |
-
'compare' => 'NOT EXISTS'
|
251 |
-
)
|
252 |
),
|
253 |
'number'=>500
|
254 |
);
|
255 |
|
256 |
$u=get_users($args_unchecked);
|
257 |
-
|
258 |
-
|
259 |
{
|
260 |
$data=Array();
|
261 |
for($i=0;$i<sizeof($u);$i++)
|
11 |
|
12 |
function ct_show_users_page()
|
13 |
{
|
14 |
+
global $ct_plugin_name;
|
15 |
?>
|
16 |
<div class="wrap">
|
17 |
+
<h2><?php echo $ct_plugin_name; ?></h2><br />
|
18 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
global $wpdb;
|
20 |
$r=$wpdb->get_results("select distinct count($wpdb->users.ID) as cnt from $wpdb->users inner join $wpdb->usermeta on $wpdb->users.ID=$wpdb->usermeta.user_id where $wpdb->usermeta.meta_key='ct_checked' or $wpdb->usermeta.meta_key='ct_hash';");
|
21 |
$cnt_checked=$r[0]->cnt;
|
224 |
|
225 |
$args_unchecked = array(
|
226 |
'meta_query' => array(
|
|
|
227 |
Array(
|
228 |
'key' => 'ct_checked',
|
229 |
'value' => '1',
|
230 |
'compare' => 'NOT EXISTS'
|
231 |
),
|
|
|
|
|
|
|
|
|
|
|
232 |
),
|
233 |
'number'=>500
|
234 |
);
|
235 |
|
236 |
$u=get_users($args_unchecked);
|
237 |
+
|
238 |
+
if(sizeof($u)>0)
|
239 |
{
|
240 |
$data=Array();
|
241 |
for($i=0;$i<sizeof($u);$i++)
|
readme.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
=== Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
|
2 |
-
Contributors:
|
3 |
-
Tags: spam, anti-spam, antispam, anti spam,
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.5.2
|
6 |
Stable tag: 5.40.3
|
@@ -210,7 +210,6 @@ 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 |
-
|
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 |
|
@@ -234,28 +233,28 @@ Yes, it will. The Anti-spam by CleanTalk is compatible with any WordPress theme.
|
|
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 |
-
|
238 |
|
239 |
= What about pingback, trackback spam? =
|
240 |
-
|
241 |
|
242 |
= Can I use CleanTalk with Akismet? =
|
243 |
-
Sure, you can use CleanTalk with Akismet. In this case
|
244 |
|
245 |
= Is CleanTalk better than Akismet? =
|
246 |
-
Please look features comparison here https://cleantalk.org/cleantalk-vs-akismet
|
247 |
|
248 |
= Can I use CleanTalk to remove pending spam comments? =
|
249 |
-
Yes, you can. The plugin has option to test all pending comments via database of <a href="https://cleantalk.org/blacklists">spam active IP/Email</a>,
|
250 |
|
251 |
-
= How the plugin
|
252 |
-
|
253 |
-
There
|
254 |
|
255 |
-
To check comments please
|
256 |
> WordPress console -> Comments -> Find spam comments
|
257 |
|
258 |
-
To check users please
|
259 |
> WordPress console -> Users -> Find spam users
|
260 |
|
261 |
= Should I use another anti-spam tools (Captcha, reCaptcha and etc.)? =
|
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
|
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 |
|
233 |
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.
|
234 |
|
235 |
= Is the plugin effective against spam bots? =
|
236 |
+
The 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.
|
237 |
|
238 |
= What about pingback, trackback spam? =
|
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
|
246 |
|
247 |
= Can I use CleanTalk to remove pending spam comments? =
|
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.)? =
|