Version Description
December 23 2016 = * Integrations: Caldera Forms, Visual Form Builder. * Fix for different 'cookies' header names. * Fixed user deletion.
Download this release
Release Info
Developer | Safronik |
Plugin | Spam protection, AntiSpam, FireWall by CleanTalk |
Version | 5.55 |
Comparing to | |
See all releases |
Code changes from version 5.54 to 5.55
- cleantalk.php +5 -5
- inc/cleantalk-admin.php +1 -1
- inc/cleantalk-public.php +36 -40
- inc/cleantalk-users.php +63 -30
- inc/cleantalk.class.php +10 -2
- readme.txt +13 -3
cleantalk.php
CHANGED
@@ -3,12 +3,12 @@
|
|
3 |
Plugin Name: Spam Protection by CleanTalk
|
4 |
Plugin URI: http://cleantalk.org
|
5 |
Description: Max power, all-in-one, no Captcha, 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.
|
7 |
Author: СleanTalk <welcome@cleantalk.org>
|
8 |
Author URI: http://cleantalk.org
|
9 |
-
|
10 |
-
$cleantalk_plugin_version='5.
|
11 |
-
$ct_agent_version = 'wordpress-
|
12 |
$cleantalk_executed=false;
|
13 |
$ct_sfw_updated = false;
|
14 |
|
@@ -39,7 +39,7 @@ if(!defined('CLEANTALK_PLUGIN_DIR')){
|
|
39 |
require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-widget.php');
|
40 |
$ct_options=ct_get_options();
|
41 |
$ct_data=ct_get_data();
|
42 |
-
|
43 |
if(!isset($ct_data['db_refreshed'])){
|
44 |
|
45 |
global $wpdb;
|
3 |
Plugin Name: Spam Protection by CleanTalk
|
4 |
Plugin URI: http://cleantalk.org
|
5 |
Description: Max power, all-in-one, no Captcha, 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.55
|
7 |
Author: СleanTalk <welcome@cleantalk.org>
|
8 |
Author URI: http://cleantalk.org
|
9 |
+
*/
|
10 |
+
$cleantalk_plugin_version='5.55';
|
11 |
+
$ct_agent_version = 'wordpress-555';
|
12 |
$cleantalk_executed=false;
|
13 |
$ct_sfw_updated = false;
|
14 |
|
39 |
require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-widget.php');
|
40 |
$ct_options=ct_get_options();
|
41 |
$ct_data=ct_get_data();
|
42 |
+
|
43 |
if(!isset($ct_data['db_refreshed'])){
|
44 |
|
45 |
global $wpdb;
|
inc/cleantalk-admin.php
CHANGED
@@ -694,7 +694,7 @@ function ct_section_settings_state() {
|
|
694 |
if($test_failed && $ct_data['moderate_ip'] != 1)
|
695 |
{
|
696 |
print __("Testing is failed, check settings. Tech support <a target=_blank href='mailto:support@cleantalk.org'>support@cleantalk.org</a>", 'cleantalk');
|
697 |
-
}
|
698 |
return true;
|
699 |
}
|
700 |
|
694 |
if($test_failed && $ct_data['moderate_ip'] != 1)
|
695 |
{
|
696 |
print __("Testing is failed, check settings. Tech support <a target=_blank href='mailto:support@cleantalk.org'>support@cleantalk.org</a>", 'cleantalk');
|
697 |
+
}
|
698 |
return true;
|
699 |
}
|
700 |
|
inc/cleantalk-public.php
CHANGED
@@ -1469,7 +1469,7 @@ function ct_registration_errors($errors, $sanitized_user_login = null, $user_ema
|
|
1469 |
|
1470 |
$ct_options=ct_get_options();
|
1471 |
$ct_data=ct_get_data();
|
1472 |
-
|
1473 |
// Go out if a registrered user action
|
1474 |
if (ct_is_user_enable() === false) {
|
1475 |
return $errors;
|
@@ -1545,7 +1545,7 @@ function ct_registration_errors($errors, $sanitized_user_login = null, $user_ema
|
|
1545 |
if ($sender_info === false) {
|
1546 |
$sender_info= '';
|
1547 |
}
|
1548 |
-
|
1549 |
require_once('cleantalk.class.php');
|
1550 |
$config = ct_get_server();
|
1551 |
$ct = new Cleantalk();
|
@@ -1565,7 +1565,7 @@ function ct_registration_errors($errors, $sanitized_user_login = null, $user_ema
|
|
1565 |
$ct_request->sender_info = $sender_info;
|
1566 |
$ct_request->js_on = $checkjs;
|
1567 |
$ct_request->submit_time = $submit_time;
|
1568 |
-
|
1569 |
$ct_result = $ct->isAllowUser($ct_request);
|
1570 |
if ($ct->server_change) {
|
1571 |
update_option(
|
@@ -2311,7 +2311,7 @@ function ct_contact_form_validate () {
|
|
2311 |
) {
|
2312 |
return null;
|
2313 |
}
|
2314 |
-
|
2315 |
// Do not execute anti-spam test for logged in users.
|
2316 |
if (isset($_COOKIE[LOGGED_IN_COOKIE]) && $ct_options['protect_logged_in'] != 1) {
|
2317 |
return null;
|
@@ -2320,7 +2320,7 @@ function ct_contact_form_validate () {
|
|
2320 |
//Skip the test if the checkout setting is unset && and it's not WooCommerce
|
2321 |
if($ct_options['wc_checkout_test'] == 0 && strpos($_SERVER['REQUEST_URI'],'wc-ajax=checkout') && strpos($_POST['_wp_http_referer'],'wc-ajax=update_order_review'))
|
2322 |
return null;
|
2323 |
-
|
2324 |
//@header("CtConditions: Passed");
|
2325 |
cleantalk_debug("CtConditions", "Passed");
|
2326 |
|
@@ -2380,8 +2380,7 @@ function ct_contact_form_validate () {
|
|
2380 |
|
2381 |
//@header("CtBaseCallBefore: 1");
|
2382 |
cleantalk_debug("CtBaseCallBefore", "1");
|
2383 |
-
|
2384 |
-
|
2385 |
$ct_base_call_result = ct_base_call(array(
|
2386 |
'message' => $message,
|
2387 |
'example' => null,
|
@@ -2402,8 +2401,8 @@ function ct_contact_form_validate () {
|
|
2402 |
|
2403 |
$ct = $ct_base_call_result['ct'];
|
2404 |
$ct_result = $ct_base_call_result['ct_result'];
|
2405 |
-
|
2406 |
if ($ct_result->allow == 0) {
|
|
|
2407 |
//@header("CtResult: Not Allow");
|
2408 |
cleantalk_debug("CtResult", "Not Allow");
|
2409 |
|
@@ -2415,57 +2414,54 @@ function ct_contact_form_validate () {
|
|
2415 |
if ($ajax_call) {
|
2416 |
//@header("AJAX: Yes");
|
2417 |
cleantalk_debug("AJAX", "Yes");
|
2418 |
-
echo $ct_result->comment;
|
2419 |
} else {
|
|
|
2420 |
//@header("AJAX: No");
|
2421 |
cleantalk_debug("AJAX", "No");
|
2422 |
global $ct_comment;
|
2423 |
$ct_comment = $ct_result->comment;
|
2424 |
-
if(isset($_POST['cma-action'])&&$_POST['cma-action']=='add')
|
2425 |
-
{
|
2426 |
$result=Array('success'=>0, 'thread_id'=>null,'messages'=>Array($ct_result->comment));
|
2427 |
header("Content-Type: application/json");
|
2428 |
print json_encode($result);
|
2429 |
die();
|
2430 |
-
|
2431 |
-
else if(isset($_POST['TellAFriend_email']))
|
2432 |
-
{
|
2433 |
echo $ct_result->comment;
|
2434 |
die();
|
2435 |
-
|
2436 |
-
//
|
2437 |
-
// Gravity forms submission
|
2438 |
-
//
|
2439 |
-
else if(isset($_POST['gform_submit']))
|
2440 |
-
{
|
2441 |
$response = sprintf("<!DOCTYPE html><html><head><meta charset='UTF-8' /></head><body class='GF_AJAX_POSTBACK'><div id='gform_confirmation_wrapper_1' class='gform_confirmation_wrapper '><div id='gform_confirmation_message_1' class='gform_confirmation_message_1
|
2442 |
gform_confirmation_message'>%s</div></div></body></html>",
|
2443 |
$ct_result->comment
|
2444 |
);
|
2445 |
echo $response;
|
2446 |
die();
|
2447 |
-
|
2448 |
-
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
-
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
}
|
2460 |
-
}
|
2461 |
-
elseif(isset($_POST['action']) && $_POST['action'] == 'ct_check_internal')
|
2462 |
-
{
|
2463 |
return $ct_result->comment;
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2467 |
ct_die(null, null);
|
2468 |
-
|
2469 |
}
|
2470 |
exit;
|
2471 |
}
|
1469 |
|
1470 |
$ct_options=ct_get_options();
|
1471 |
$ct_data=ct_get_data();
|
1472 |
+
|
1473 |
// Go out if a registrered user action
|
1474 |
if (ct_is_user_enable() === false) {
|
1475 |
return $errors;
|
1545 |
if ($sender_info === false) {
|
1546 |
$sender_info= '';
|
1547 |
}
|
1548 |
+
|
1549 |
require_once('cleantalk.class.php');
|
1550 |
$config = ct_get_server();
|
1551 |
$ct = new Cleantalk();
|
1565 |
$ct_request->sender_info = $sender_info;
|
1566 |
$ct_request->js_on = $checkjs;
|
1567 |
$ct_request->submit_time = $submit_time;
|
1568 |
+
|
1569 |
$ct_result = $ct->isAllowUser($ct_request);
|
1570 |
if ($ct->server_change) {
|
1571 |
update_option(
|
2311 |
) {
|
2312 |
return null;
|
2313 |
}
|
2314 |
+
|
2315 |
// Do not execute anti-spam test for logged in users.
|
2316 |
if (isset($_COOKIE[LOGGED_IN_COOKIE]) && $ct_options['protect_logged_in'] != 1) {
|
2317 |
return null;
|
2320 |
//Skip the test if the checkout setting is unset && and it's not WooCommerce
|
2321 |
if($ct_options['wc_checkout_test'] == 0 && strpos($_SERVER['REQUEST_URI'],'wc-ajax=checkout') && strpos($_POST['_wp_http_referer'],'wc-ajax=update_order_review'))
|
2322 |
return null;
|
2323 |
+
|
2324 |
//@header("CtConditions: Passed");
|
2325 |
cleantalk_debug("CtConditions", "Passed");
|
2326 |
|
2380 |
|
2381 |
//@header("CtBaseCallBefore: 1");
|
2382 |
cleantalk_debug("CtBaseCallBefore", "1");
|
2383 |
+
|
|
|
2384 |
$ct_base_call_result = ct_base_call(array(
|
2385 |
'message' => $message,
|
2386 |
'example' => null,
|
2401 |
|
2402 |
$ct = $ct_base_call_result['ct'];
|
2403 |
$ct_result = $ct_base_call_result['ct_result'];
|
|
|
2404 |
if ($ct_result->allow == 0) {
|
2405 |
+
|
2406 |
//@header("CtResult: Not Allow");
|
2407 |
cleantalk_debug("CtResult", "Not Allow");
|
2408 |
|
2414 |
if ($ajax_call) {
|
2415 |
//@header("AJAX: Yes");
|
2416 |
cleantalk_debug("AJAX", "Yes");
|
2417 |
+
echo $ct_result->comment;
|
2418 |
} else {
|
2419 |
+
|
2420 |
//@header("AJAX: No");
|
2421 |
cleantalk_debug("AJAX", "No");
|
2422 |
global $ct_comment;
|
2423 |
$ct_comment = $ct_result->comment;
|
2424 |
+
if(isset($_POST['cma-action'])&&$_POST['cma-action']=='add'){
|
|
|
2425 |
$result=Array('success'=>0, 'thread_id'=>null,'messages'=>Array($ct_result->comment));
|
2426 |
header("Content-Type: application/json");
|
2427 |
print json_encode($result);
|
2428 |
die();
|
2429 |
+
|
2430 |
+
}else if(isset($_POST['TellAFriend_email'])){
|
|
|
2431 |
echo $ct_result->comment;
|
2432 |
die();
|
2433 |
+
|
2434 |
+
}else if(isset($_POST['gform_submit'])){ // Gravity forms submission
|
|
|
|
|
|
|
|
|
2435 |
$response = sprintf("<!DOCTYPE html><html><head><meta charset='UTF-8' /></head><body class='GF_AJAX_POSTBACK'><div id='gform_confirmation_wrapper_1' class='gform_confirmation_wrapper '><div id='gform_confirmation_message_1' class='gform_confirmation_message_1
|
2436 |
gform_confirmation_message'>%s</div></div></body></html>",
|
2437 |
$ct_result->comment
|
2438 |
);
|
2439 |
echo $response;
|
2440 |
die();
|
2441 |
+
|
2442 |
+
}elseif(isset($_POST['_wp_http_referer']) && strpos($_POST['_wp_http_referer'],'wc-ajax=update_order_review')){ //WooCommerce checkout ("Place Oreder button")
|
2443 |
+
$result = Array(
|
2444 |
+
result => 'failure',
|
2445 |
+
messages => "<ul class=\"woocommerce-error\"><li>".$ct_result->comment."</li></ul>",
|
2446 |
+
refresh => 'false',
|
2447 |
+
reload => 'false'
|
2448 |
+
);
|
2449 |
+
print json_encode($result);
|
2450 |
+
die();
|
2451 |
+
|
2452 |
+
}elseif(isset($_POST['action']) && $_POST['action'] == 'ct_check_internal'){
|
|
|
|
|
|
|
|
|
2453 |
return $ct_result->comment;
|
2454 |
+
|
2455 |
+
}elseif(isset($_POST['vfb-submit']) && defined('VFB_VERSION')){
|
2456 |
+
wp_die("<h1>Spam Protection by CleanTalk</h1><h2>".$ct_result->comment."</h2>", '', array('response' => 403, "back_link" => true, "text_direction" => 'ltr'));
|
2457 |
+
|
2458 |
+
}elseif(isset($_POST['action']) && $_POST['action'] == 'cf_process_ajax_submit'){
|
2459 |
+
echo "<h3>Antispam by CleanTalk: <u>".$ct_result->comment."</u></h3>";
|
2460 |
+
die();
|
2461 |
+
|
2462 |
+
}else
|
2463 |
ct_die(null, null);
|
2464 |
+
|
2465 |
}
|
2466 |
exit;
|
2467 |
}
|
inc/cleantalk-users.php
CHANGED
@@ -257,6 +257,7 @@ function ct_ajax_check_users()
|
|
257 |
for($i=0;$i<sizeof($u);$i++)
|
258 |
{
|
259 |
$user_meta=get_user_meta($u[$i]->ID, 'session_tokens', true);
|
|
|
260 |
if(is_array($user_meta))
|
261 |
{
|
262 |
$user_meta=array_values($user_meta);
|
@@ -277,7 +278,7 @@ function ct_ajax_check_users()
|
|
277 |
die();
|
278 |
}
|
279 |
$data=implode(',',$data);
|
280 |
-
|
281 |
$request=Array();
|
282 |
$request['method_name'] = 'spam_check_cms';
|
283 |
$request['auth_key'] = $ct_options['apikey'];
|
@@ -288,7 +289,7 @@ function ct_ajax_check_users()
|
|
288 |
require_once('cleantalk.class.php');
|
289 |
}
|
290 |
$result=sendRawRequest($url, $request, false, 5);
|
291 |
-
|
292 |
$result=json_decode($result);
|
293 |
|
294 |
if(isset($result->error_message))
|
@@ -386,29 +387,53 @@ add_action( 'wp_ajax_ajax_insert_users', 'ct_ajax_insert_users' );
|
|
386 |
function ct_ajax_insert_users()
|
387 |
{
|
388 |
check_ajax_referer( 'ct_secret_nonce', 'security' );
|
389 |
-
|
390 |
-
$
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410 |
}
|
411 |
-
|
412 |
print "$inserted";
|
413 |
die();
|
414 |
}
|
@@ -429,16 +454,24 @@ function ct_ajax_delete_all_users()
|
|
429 |
{
|
430 |
global $wpdb;
|
431 |
|
432 |
-
$r = $wpdb->get_results("select count(*) from $wpdb->usermeta where meta_key='ct_marked_as_spam';");
|
433 |
-
|
434 |
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
usleep(5000);
|
440 |
}
|
441 |
-
|
|
|
442 |
print $count_all;
|
443 |
die();
|
444 |
}
|
257 |
for($i=0;$i<sizeof($u);$i++)
|
258 |
{
|
259 |
$user_meta=get_user_meta($u[$i]->ID, 'session_tokens', true);
|
260 |
+
|
261 |
if(is_array($user_meta))
|
262 |
{
|
263 |
$user_meta=array_values($user_meta);
|
278 |
die();
|
279 |
}
|
280 |
$data=implode(',',$data);
|
281 |
+
|
282 |
$request=Array();
|
283 |
$request['method_name'] = 'spam_check_cms';
|
284 |
$request['auth_key'] = $ct_options['apikey'];
|
289 |
require_once('cleantalk.class.php');
|
290 |
}
|
291 |
$result=sendRawRequest($url, $request, false, 5);
|
292 |
+
|
293 |
$result=json_decode($result);
|
294 |
|
295 |
if(isset($result->error_message))
|
387 |
function ct_ajax_insert_users()
|
388 |
{
|
389 |
check_ajax_referer( 'ct_secret_nonce', 'security' );
|
390 |
+
|
391 |
+
global $wpdb;
|
392 |
+
|
393 |
+
/* DELETION
|
394 |
+
$users = get_users(array('search' => '*user_*', 'search_columns' => array('login', 'nicename')));
|
395 |
+
$inserted = 0;
|
396 |
+
foreach($users as $user)
|
397 |
+
if(wp_delete_user($user->id))
|
398 |
+
$inserted++;
|
399 |
+
//*/
|
400 |
+
|
401 |
+
$result = $wpdb->get_results("SELECT network FROM `".$wpdb->base_prefix."cleantalk_sfw` LIMIT 200;", ARRAY_A);
|
402 |
+
if($result){
|
403 |
+
$ip = array();
|
404 |
+
foreach($result as $value){
|
405 |
+
$ips[] = long2ip($value['network']);
|
406 |
+
}
|
407 |
+
unset($value);
|
408 |
+
|
409 |
+
$inserted = 0;
|
410 |
+
$use_id = 0;
|
411 |
+
for($i=0; $i<200 ;$i++){
|
412 |
+
$rnd=mt_rand(1,10000000);
|
413 |
+
|
414 |
+
$user_name = "user_$rnd";
|
415 |
+
$email="stop_email_$rnd@example.com";
|
416 |
+
|
417 |
+
$user_id = wp_create_user(
|
418 |
+
$user_name,
|
419 |
+
rand(),
|
420 |
+
$email
|
421 |
+
);
|
422 |
|
423 |
+
$curr_user = get_user_by('email', $email);
|
424 |
+
|
425 |
+
update_user_meta($curr_user->ID, 'session_tokens', array($rnd => array('ip' => $ips[$i])));
|
426 |
+
|
427 |
+
if (is_int($user_id))
|
428 |
+
$inserted++;
|
429 |
+
else
|
430 |
+
error_log(print_r($user_id, true));
|
431 |
+
|
432 |
+
}
|
433 |
+
}else{
|
434 |
+
$inserted = '0';
|
435 |
}
|
436 |
+
|
437 |
print "$inserted";
|
438 |
die();
|
439 |
}
|
454 |
{
|
455 |
global $wpdb;
|
456 |
|
457 |
+
$r = $wpdb->get_results("select count(*) as cnt from $wpdb->usermeta where meta_key='ct_marked_as_spam';");
|
458 |
+
$count_all = $r ? $r[0]->cnt : 0;
|
459 |
|
460 |
+
$args = array(
|
461 |
+
'meta_key' => 'ct_marked_as_spam',
|
462 |
+
'meta_value' => '1',
|
463 |
+
'fields' => array('ID'),
|
464 |
+
'number' => 10
|
465 |
+
);
|
466 |
+
$users = get_users($args);
|
467 |
+
|
468 |
+
if ($users){
|
469 |
+
foreach($users as $user){
|
470 |
+
wp_delete_user($user->ID);
|
471 |
usleep(5000);
|
472 |
}
|
473 |
+
}
|
474 |
+
|
475 |
print $count_all;
|
476 |
die();
|
477 |
}
|
inc/cleantalk.class.php
CHANGED
@@ -732,12 +732,20 @@ class Cleantalk {
|
|
732 |
|
733 |
if($msg->method_name != 'send_feedback'){
|
734 |
$ct_tmp = apache_request_headers();
|
735 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
736 |
'/\s{0,1}ct_checkjs=[a-z0-9]*[;|$]{0,1}/',
|
737 |
'/\s{0,1}ct_timezone=.{0,1}\d{1,2}[;|$]/',
|
738 |
'/\s{0,1}ct_pointer_data=.*5D[;|$]{0,1}/',
|
739 |
'/;{0,1}\s{0,3}$/'
|
740 |
-
), '', $ct_tmp[
|
741 |
$msg->all_headers=json_encode($ct_tmp);
|
742 |
}
|
743 |
|
732 |
|
733 |
if($msg->method_name != 'send_feedback'){
|
734 |
$ct_tmp = apache_request_headers();
|
735 |
+
|
736 |
+
if(isset($ct_tmp['Cookie']))
|
737 |
+
$cookie_name = 'Cookie';
|
738 |
+
elseif(isset($ct_tmp['cookie']))
|
739 |
+
$cookie_name = 'cookie';
|
740 |
+
else
|
741 |
+
$cookie_name = 'COOKIE';
|
742 |
+
|
743 |
+
$ct_tmp[$cookie_name] = preg_replace(array(
|
744 |
'/\s{0,1}ct_checkjs=[a-z0-9]*[;|$]{0,1}/',
|
745 |
'/\s{0,1}ct_timezone=.{0,1}\d{1,2}[;|$]/',
|
746 |
'/\s{0,1}ct_pointer_data=.*5D[;|$]{0,1}/',
|
747 |
'/;{0,1}\s{0,3}$/'
|
748 |
+
), '', $ct_tmp[$cookie_name]);
|
749 |
$msg->all_headers=json_encode($ct_tmp);
|
750 |
}
|
751 |
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== Spam Protection by CleanTalk (no Captcha Anti-Spam) ===
|
2 |
Contributors: znaeff, shagimuratov, serge00, sartemd174
|
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, subscription, gravity spam, jetpack, bots, contact form 7, contact form, registrations, ninja, Fast Secure Contact, Gravity forms, formidable, mailchimp, s2member, protection, protect, email, plugin, contact, recaptcha, google captcha, google recaptcha, blacklist, prevent spam comments, wordpress, User Frontend, bulk delete, bulk remove, widget, review, firewall, 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, userpro,honeypot,puzzle,quiz,survey,poll,security
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.7
|
6 |
-
Stable tag: 5.
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -44,7 +44,7 @@ Supports native WordPress, JetPack comments and any other comment plugins. The p
|
|
44 |
Filters spam bots on registration forms of WordPress, BuddyPress, bbPress, S2Member, WooCommerce, Profile builder, Login with AJAX and any other registration plugins.
|
45 |
|
46 |
= Protection from contact form spam =
|
47 |
-
The plugin is tested and ready to protect from spam emails via Formidable forms, Contact form 7, JetPack Contact form, Fast Secure Contact form, Ninja forms, Landing pages, Gravity forms, Contact Form by BestWebSoft, Simple Contact Form Plugin - PirateForms, Visual Form Builder, Form, Contact Form by WebDorado, Contact Form Email, MW WP Form, Contact Form by Jeff Bulllins, Easy Contact, Contact Us Form, Grunion Contact Form, WCP Contact Form, Easy WordPress Contact Form Plugin, WPForms Lite, Custom Contact Forms and any other themes or custom contact forms.
|
48 |
|
49 |
= WooCommerce spam filter =
|
50 |
Anti-spam by CleanTalk filters spam registrations and spam reviews for WooCommerce. The plugin is fully compatible with WooCommerce 2.1 and higher.
|
@@ -484,6 +484,11 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
|
|
484 |
1. The Dashboard with a map of most spam active countries per your account.
|
485 |
|
486 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
487 |
= 5.54 December 12 2016 =
|
488 |
* Integrations: AmoForms, Contact Form Clean and Simple.
|
489 |
* Comments check logic refreshed.
|
@@ -1213,6 +1218,11 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
|
|
1213 |
|
1214 |
== Upgrade Notice ==
|
1215 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
1216 |
= 5.54 December 12 2016 =
|
1217 |
* Integrations: AmoForms, Contact Form Clean and Simple.
|
1218 |
* Comments check logic refreshed.
|
1 |
=== Spam Protection by CleanTalk (no Captcha Anti-Spam) ===
|
2 |
Contributors: znaeff, shagimuratov, serge00, sartemd174
|
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, subscription, gravity spam, jetpack, bots, contact form 7, contact form, registrations, ninja, Fast Secure Contact, Gravity forms, formidable, mailchimp, s2member, protection, protect, email, plugin, contact, recaptcha, google captcha, google recaptcha, blacklist, prevent spam comments, wordpress, User Frontend, bulk delete, bulk remove, widget, review, firewall, 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, userpro,honeypot,puzzle,quiz,survey,poll,security, amo forms, caldera forms, visual form builder, contact form clean and simple
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.7
|
6 |
+
Stable tag: 5.55
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
44 |
Filters spam bots on registration forms of WordPress, BuddyPress, bbPress, S2Member, WooCommerce, Profile builder, Login with AJAX and any other registration plugins.
|
45 |
|
46 |
= Protection from contact form spam =
|
47 |
+
The plugin is tested and ready to protect from spam emails via Formidable forms, Contact form 7, JetPack Contact form, Fast Secure Contact form, Ninja forms, Landing pages, Gravity forms, Contact Form by BestWebSoft, Simple Contact Form Plugin - PirateForms, Visual Form Builder, Form, Contact Form by WebDorado, Contact Form Email, MW WP Form, Contact Form by Jeff Bulllins, Easy Contact, Contact Us Form, Grunion Contact Form, WCP Contact Form, Easy WordPress Contact Form Plugin, WPForms Lite, Custom Contact, Forms, Amo Forms, Caldera Forms, Visual Form Builder, Contact Form Clean and Simple and any other themes or custom contact forms.
|
48 |
|
49 |
= WooCommerce spam filter =
|
50 |
Anti-spam by CleanTalk filters spam registrations and spam reviews for WooCommerce. The plugin is fully compatible with WooCommerce 2.1 and higher.
|
484 |
1. The Dashboard with a map of most spam active countries per your account.
|
485 |
|
486 |
== Changelog ==
|
487 |
+
= 5.55 December 23 2016 =
|
488 |
+
* Integrations: Caldera Forms, Visual Form Builder.
|
489 |
+
* Fix for different 'cookies' header names.
|
490 |
+
* Fixed user deletion.
|
491 |
+
|
492 |
= 5.54 December 12 2016 =
|
493 |
* Integrations: AmoForms, Contact Form Clean and Simple.
|
494 |
* Comments check logic refreshed.
|
1218 |
|
1219 |
== Upgrade Notice ==
|
1220 |
== Changelog ==
|
1221 |
+
= 5.55 December 23 2016 =
|
1222 |
+
* Integrations: Caldera Forms, Visual Form Builder.
|
1223 |
+
* Fix for different 'cookies' header names.
|
1224 |
+
* Fixed user deletion.
|
1225 |
+
|
1226 |
= 5.54 December 12 2016 =
|
1227 |
* Integrations: AmoForms, Contact Form Clean and Simple.
|
1228 |
* Comments check logic refreshed.
|