Version Description
2015-08-15 = * Fixed anti-spam stats in admin bar - now statistics updates every hour * Fixed issue with skipping spam submissions * Added some PHP-constants for advanced users - CLEANTALK_AJAX_USE_BUFFER and CLEANTALK_AJAX_USE_FOOTER_HEADER can be defined to true or false in wp-config.php to control method, which will be used for injection of AJAX script.
Download this release
Release Info
Developer | shagimuratov |
Plugin | Spam protection, AntiSpam, FireWall by CleanTalk |
Version | 5.20 |
Comparing to | |
See all releases |
Code changes from version 5.19 to 5.20
- cleantalk-admin.php +5 -1
- cleantalk-ajax.php +5 -17
- cleantalk-comments.php +11 -7
- cleantalk-common.php +8 -7
- cleantalk-public.php +22 -4
- cleantalk.php +45 -27
- readme.txt +38 -10
- screenshot-1.png +0 -0
- screenshot-3.png +0 -0
- screenshot-4.png +0 -0
cleantalk-admin.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
|
3 |
$ct_plugin_basename = 'cleantalk-spam-protect/cleantalk.php';
|
|
|
|
|
4 |
|
5 |
if(isset($_GET['close_notice']))
|
6 |
{
|
@@ -318,7 +320,7 @@ function ct_add_admin_menu( $wp_admin_bar ) {
|
|
318 |
//$ct_data=ct_get_data();
|
319 |
$args = array(
|
320 |
'id' => 'ct_parent_node',
|
321 |
-
'title' => '<img src="' . plugin_dir_url(__FILE__) . 'inc/images/logo_small1.png" alt="" height="" style="margin-top:9px;" /><a href="#" class="ab-item alignright" title="allowed / blocked" alt="allowed / blocked"><span class="ab-label" id="ct_stats"></span></a>'
|
322 |
);
|
323 |
$wp_admin_bar->add_node( $args );
|
324 |
|
@@ -424,6 +426,8 @@ function ct_section_settings_autodel() {
|
|
424 |
*/
|
425 |
function ct_input_apikey() {
|
426 |
global $ct_options, $ct_data, $ct_notice_online_label;
|
|
|
|
|
427 |
|
428 |
echo "<script src='".plugins_url( 'cleantalk-admin.js', __FILE__ )."'></script>\n";
|
429 |
|
1 |
<?php
|
2 |
|
3 |
$ct_plugin_basename = 'cleantalk-spam-protect/cleantalk.php';
|
4 |
+
$ct_options=ct_get_options();
|
5 |
+
$ct_data=ct_get_data();
|
6 |
|
7 |
if(isset($_GET['close_notice']))
|
8 |
{
|
320 |
//$ct_data=ct_get_data();
|
321 |
$args = array(
|
322 |
'id' => 'ct_parent_node',
|
323 |
+
'title' => '<img src="' . plugin_dir_url(__FILE__) . 'inc/images/logo_small1.png" alt="" height="" style="margin-top:9px;" /><a href="#" class="ab-item alignright" title="allowed / blocked" alt="allowed / blocked"><span class="ab-label" id="ct_stats"><span>0</span> / <span>0</span></span></a>'
|
324 |
);
|
325 |
$wp_admin_bar->add_node( $args );
|
326 |
|
426 |
*/
|
427 |
function ct_input_apikey() {
|
428 |
global $ct_options, $ct_data, $ct_notice_online_label;
|
429 |
+
$ct_options=ct_get_options();
|
430 |
+
$ct_data=ct_get_data();
|
431 |
|
432 |
echo "<script src='".plugins_url( 'cleantalk-admin.js', __FILE__ )."'></script>\n";
|
433 |
|
cleantalk-ajax.php
CHANGED
@@ -83,28 +83,16 @@ function ct_get_stats()
|
|
83 |
check_ajax_referer( 'ct_secret_nonce', 'security' );
|
84 |
global $ct_data;
|
85 |
//$ct_data=ct_get_data();
|
86 |
-
$t=time();
|
87 |
|
88 |
-
if(!isset($ct_data['
|
89 |
{
|
90 |
-
$ct_data['
|
91 |
-
$ct_data['
|
92 |
-
$ct_data['
|
93 |
-
$ct_data['last_time']=$t;
|
94 |
update_option('cleantalk_data', $ct_data);
|
95 |
}
|
96 |
|
97 |
-
$
|
98 |
-
if($t-$last_time>86400)
|
99 |
-
{
|
100 |
-
$ct_data['stat_accepted']=0;
|
101 |
-
$ct_data['stat_blocked']=0;
|
102 |
-
$ct_data['stat_all']=0;
|
103 |
-
$ct_data['last_time']=$t;
|
104 |
-
update_option('cleantalk_data', $ct_data);
|
105 |
-
}
|
106 |
-
|
107 |
-
$ret=Array('stat_accepted'=>$ct_data['stat_accepted'],'stat_blocked'=>$ct_data['stat_blocked'],'stat_all'=>$ct_data['stat_all']);
|
108 |
print json_encode($ret);
|
109 |
die();
|
110 |
}
|
83 |
check_ajax_referer( 'ct_secret_nonce', 'security' );
|
84 |
global $ct_data;
|
85 |
//$ct_data=ct_get_data();
|
|
|
86 |
|
87 |
+
if(!isset($ct_data['array_accepted']))
|
88 |
{
|
89 |
+
$ct_data['array_accepted']=Array();
|
90 |
+
$ct_data['array_blocked']=Array();
|
91 |
+
$ct_data['current_hour']=0;
|
|
|
92 |
update_option('cleantalk_data', $ct_data);
|
93 |
}
|
94 |
|
95 |
+
$ret=Array('stat_accepted'=>@array_sum($ct_data['array_accepted']), 'stat_blocked'=>@array_sum($ct_data['array_blocked']), 'stat_all'=>@array_sum($ct_data['array_accepted']) + @array_sum($ct_data['array_blocked']));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
print json_encode($ret);
|
97 |
die();
|
98 |
}
|
cleantalk-comments.php
CHANGED
@@ -42,7 +42,7 @@ function ct_show_checkspam_page()
|
|
42 |
}
|
43 |
?>
|
44 |
<?php
|
45 |
-
|
46 |
?>
|
47 |
|
48 |
<div id="ct_working_message" style="margin:auto;padding:3px;width:70%;border:2px dotted gray;display:none;background:#ffff99;">
|
@@ -237,26 +237,28 @@ function ct_ajax_check_comments()
|
|
237 |
|
238 |
$args_unchecked = array(
|
239 |
'meta_query' => array(
|
240 |
-
'relation' => 'AND',
|
241 |
Array(
|
242 |
'key' => 'ct_checked',
|
243 |
'value' => '1',
|
244 |
'compare' => 'NOT EXISTS'
|
245 |
),
|
246 |
-
Array(
|
247 |
'key' => 'ct_hash',
|
248 |
'value' => '1',
|
249 |
'compare' => 'NOT EXISTS'
|
250 |
-
)
|
251 |
),
|
252 |
-
'number'=>500
|
|
|
253 |
);
|
254 |
|
255 |
$u=get_comments($args_unchecked);
|
256 |
$u=array_slice($u,0,500);
|
257 |
if(sizeof($u)>0)
|
258 |
{
|
259 |
-
//print_r($
|
|
|
260 |
$data=Array();
|
261 |
for($i=0;$i<sizeof($u);$i++)
|
262 |
{
|
@@ -321,7 +323,7 @@ function ct_ajax_info_comments()
|
|
321 |
'compare' => 'NUMERIC'
|
322 |
)
|
323 |
),
|
324 |
-
'count'=>true
|
325 |
);
|
326 |
|
327 |
$cnt_spam=get_comments($args_spam);
|
@@ -330,6 +332,7 @@ function ct_ajax_info_comments()
|
|
330 |
'meta_query' => array(
|
331 |
Array(
|
332 |
'key' => 'ct_hash',
|
|
|
333 |
'compare' => 'EXISTS'
|
334 |
)
|
335 |
),
|
@@ -339,6 +342,7 @@ function ct_ajax_info_comments()
|
|
339 |
'meta_query' => array(
|
340 |
Array(
|
341 |
'key' => 'ct_checked',
|
|
|
342 |
'compare' => 'EXISTS'
|
343 |
)
|
344 |
),
|
42 |
}
|
43 |
?>
|
44 |
<?php
|
45 |
+
if($_SERVER['REMOTE_ADDR']=='127.0.0.1')print '<button class="button" id="ct_insert_comments">Insert comments</button><br />';
|
46 |
?>
|
47 |
|
48 |
<div id="ct_working_message" style="margin:auto;padding:3px;width:70%;border:2px dotted gray;display:none;background:#ffff99;">
|
237 |
|
238 |
$args_unchecked = array(
|
239 |
'meta_query' => array(
|
240 |
+
//'relation' => 'AND',
|
241 |
Array(
|
242 |
'key' => 'ct_checked',
|
243 |
'value' => '1',
|
244 |
'compare' => 'NOT EXISTS'
|
245 |
),
|
246 |
+
/*Array(
|
247 |
'key' => 'ct_hash',
|
248 |
'value' => '1',
|
249 |
'compare' => 'NOT EXISTS'
|
250 |
+
)*/
|
251 |
),
|
252 |
+
'number'=>500,
|
253 |
+
'status' => 'all'
|
254 |
);
|
255 |
|
256 |
$u=get_comments($args_unchecked);
|
257 |
$u=array_slice($u,0,500);
|
258 |
if(sizeof($u)>0)
|
259 |
{
|
260 |
+
//print_r($u);
|
261 |
+
//die();
|
262 |
$data=Array();
|
263 |
for($i=0;$i<sizeof($u);$i++)
|
264 |
{
|
323 |
'compare' => 'NUMERIC'
|
324 |
)
|
325 |
),
|
326 |
+
'count'=>true
|
327 |
);
|
328 |
|
329 |
$cnt_spam=get_comments($args_spam);
|
332 |
'meta_query' => array(
|
333 |
Array(
|
334 |
'key' => 'ct_hash',
|
335 |
+
'value'=>'1',
|
336 |
'compare' => 'EXISTS'
|
337 |
)
|
338 |
),
|
342 |
'meta_query' => array(
|
343 |
Array(
|
344 |
'key' => 'ct_checked',
|
345 |
+
'value'=>'1',
|
346 |
'compare' => 'EXISTS'
|
347 |
)
|
348 |
),
|
cleantalk-common.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
$ct_agent_version = 'wordpress-
|
4 |
$ct_plugin_name = 'Anti-spam by CleanTalk';
|
5 |
$ct_checkjs_frm = 'ct_checkjs_frm';
|
6 |
$ct_checkjs_register_form = 'ct_checkjs_register_form';
|
@@ -74,12 +74,6 @@ $ct_post_data_authnet_label = 's2member_pro_authnet_registration';
|
|
74 |
// Form time load label
|
75 |
$ct_formtime_label = 'ct_formtime';
|
76 |
|
77 |
-
// Plugin's options
|
78 |
-
$ct_options = null;
|
79 |
-
|
80 |
-
// Plugin's data
|
81 |
-
$ct_data = null;
|
82 |
-
|
83 |
// Post without page load
|
84 |
$ct_direct_post = 0;
|
85 |
|
@@ -99,6 +93,10 @@ $ct_notice_autokey_label = 'ct_autokey';
|
|
99 |
// Apikey automatic getting error text
|
100 |
$ct_notice_autokey_value = '';
|
101 |
|
|
|
|
|
|
|
|
|
102 |
/**
|
103 |
* Public action 'plugins_loaded' - Loads locale, see http://codex.wordpress.org/Function_Reference/load_plugin_textdomain
|
104 |
*/
|
@@ -132,6 +130,9 @@ function ct_init_session() {
|
|
132 |
*/
|
133 |
function ct_base_call($params = array()) {
|
134 |
global $wpdb, $ct_agent_version, $ct_formtime_label, $ct_options, $ct_data;
|
|
|
|
|
|
|
135 |
|
136 |
require_once('cleantalk.class.php');
|
137 |
|
1 |
<?php
|
2 |
|
3 |
+
$ct_agent_version = 'wordpress-520';
|
4 |
$ct_plugin_name = 'Anti-spam by CleanTalk';
|
5 |
$ct_checkjs_frm = 'ct_checkjs_frm';
|
6 |
$ct_checkjs_register_form = 'ct_checkjs_register_form';
|
74 |
// Form time load label
|
75 |
$ct_formtime_label = 'ct_formtime';
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
// Post without page load
|
78 |
$ct_direct_post = 0;
|
79 |
|
93 |
// Apikey automatic getting error text
|
94 |
$ct_notice_autokey_value = '';
|
95 |
|
96 |
+
$ct_options=ct_get_options();
|
97 |
+
$ct_data=ct_get_data();
|
98 |
+
|
99 |
+
|
100 |
/**
|
101 |
* Public action 'plugins_loaded' - Loads locale, see http://codex.wordpress.org/Function_Reference/load_plugin_textdomain
|
102 |
*/
|
130 |
*/
|
131 |
function ct_base_call($params = array()) {
|
132 |
global $wpdb, $ct_agent_version, $ct_formtime_label, $ct_options, $ct_data;
|
133 |
+
|
134 |
+
$ct_options=ct_get_options();
|
135 |
+
$ct_data=ct_get_data();
|
136 |
|
137 |
require_once('cleantalk.class.php');
|
138 |
|
cleantalk-public.php
CHANGED
@@ -1,5 +1,9 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
3 |
/**
|
4 |
* Init functions
|
5 |
* @return mixed[] Array of options
|
@@ -7,7 +11,8 @@
|
|
7 |
function ct_init() {
|
8 |
global $ct_wplp_result_label, $ct_jp_comments, $ct_post_data_label, $ct_post_data_authnet_label, $ct_formtime_label, $ct_direct_post, $ct_options, $ct_data, $ct_check_post_result, $test_external_forms;
|
9 |
|
10 |
-
|
|
|
11 |
|
12 |
//fix for EPM registration form
|
13 |
if(isset($_POST) && isset($_POST['reg_email']) && shortcode_exists( 'epm_registration_form' ))
|
@@ -22,7 +27,14 @@ function ct_init() {
|
|
22 |
$ct_direct_post = 1;
|
23 |
}
|
24 |
} else {
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
}
|
27 |
|
28 |
if($test_external_forms && $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['cleantalk_hidden_method']) && isset($_POST['cleantalk_hidden_action']))
|
@@ -947,6 +959,10 @@ function ct_test_registration($nickname, $email, $ip){
|
|
947 |
*/
|
948 |
function ct_registration_errors($errors, $sanitized_user_login = null, $user_email = null) {
|
949 |
global $ct_agent_version, $ct_checkjs_register_form, $ct_session_request_id_label, $ct_session_register_ok_label, $bp, $ct_signup_done, $ct_formtime_label, $ct_negative_comment, $ct_options, $ct_data;
|
|
|
|
|
|
|
|
|
950 |
|
951 |
// Go out if a registrered user action
|
952 |
if (ct_is_user_enable() === false) {
|
@@ -1591,7 +1607,8 @@ function ct_contact_form_validate () {
|
|
1591 |
strpos($_SERVER['REQUEST_URI'],'/checkout/')!==false ||
|
1592 |
strpos($_SERVER['REQUEST_URI'],'/wp-admin/')!==false ||
|
1593 |
strpos($_SERVER['REQUEST_URI'],'wp-login.php')!==false||
|
1594 |
-
strpos($_SERVER['REQUEST_URI'],'wp-comments-post.php')!==false
|
|
|
1595 |
)
|
1596 |
) {
|
1597 |
return null;
|
@@ -1697,7 +1714,8 @@ function ct_contact_form_validate_postdata () {
|
|
1697 |
strpos($_SERVER['REQUEST_URI'],'/checkout/')!==false) ||
|
1698 |
strpos($_SERVER['REQUEST_URI'],'/wp-admin/')!==false ||
|
1699 |
strpos($_SERVER['REQUEST_URI'],'wp-login.php')!==false ||
|
1700 |
-
strpos($_SERVER['REQUEST_URI'],'wp-comments-post.php')!==false
|
|
|
1701 |
) {
|
1702 |
return null;
|
1703 |
}
|
1 |
<?php
|
2 |
|
3 |
+
$ct_options=ct_get_options();
|
4 |
+
$ct_data=ct_get_data();
|
5 |
+
|
6 |
+
|
7 |
/**
|
8 |
* Init functions
|
9 |
* @return mixed[] Array of options
|
11 |
function ct_init() {
|
12 |
global $ct_wplp_result_label, $ct_jp_comments, $ct_post_data_label, $ct_post_data_authnet_label, $ct_formtime_label, $ct_direct_post, $ct_options, $ct_data, $ct_check_post_result, $test_external_forms;
|
13 |
|
14 |
+
$ct_options=ct_get_options();
|
15 |
+
$ct_data=ct_get_data();
|
16 |
|
17 |
//fix for EPM registration form
|
18 |
if(isset($_POST) && isset($_POST['reg_email']) && shortcode_exists( 'epm_registration_form' ))
|
27 |
$ct_direct_post = 1;
|
28 |
}
|
29 |
} else {
|
30 |
+
/*if(isset($_SERVER['HTTP_REFERER']) && stripos($_SERVER['HTTP_REFERER'],'preview')!==false)
|
31 |
+
{
|
32 |
+
//do nothing
|
33 |
+
}
|
34 |
+
else
|
35 |
+
{*/
|
36 |
+
$_SESSION[$ct_formtime_label] = time();
|
37 |
+
//}
|
38 |
}
|
39 |
|
40 |
if($test_external_forms && $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['cleantalk_hidden_method']) && isset($_POST['cleantalk_hidden_action']))
|
959 |
*/
|
960 |
function ct_registration_errors($errors, $sanitized_user_login = null, $user_email = null) {
|
961 |
global $ct_agent_version, $ct_checkjs_register_form, $ct_session_request_id_label, $ct_session_register_ok_label, $bp, $ct_signup_done, $ct_formtime_label, $ct_negative_comment, $ct_options, $ct_data;
|
962 |
+
|
963 |
+
$ct_options=ct_get_options();
|
964 |
+
$ct_data=ct_get_data();
|
965 |
+
|
966 |
|
967 |
// Go out if a registrered user action
|
968 |
if (ct_is_user_enable() === false) {
|
1607 |
strpos($_SERVER['REQUEST_URI'],'/checkout/')!==false ||
|
1608 |
strpos($_SERVER['REQUEST_URI'],'/wp-admin/')!==false ||
|
1609 |
strpos($_SERVER['REQUEST_URI'],'wp-login.php')!==false||
|
1610 |
+
strpos($_SERVER['REQUEST_URI'],'wp-comments-post.php')!==false ||
|
1611 |
+
@strpos($_SERVER['HTTP_REFERER'],'/wp-admin/')!==false
|
1612 |
)
|
1613 |
) {
|
1614 |
return null;
|
1714 |
strpos($_SERVER['REQUEST_URI'],'/checkout/')!==false) ||
|
1715 |
strpos($_SERVER['REQUEST_URI'],'/wp-admin/')!==false ||
|
1716 |
strpos($_SERVER['REQUEST_URI'],'wp-login.php')!==false ||
|
1717 |
+
strpos($_SERVER['REQUEST_URI'],'wp-comments-post.php')!==false ||
|
1718 |
+
@strpos($_SERVER['HTTP_REFERER'],'/wp-admin/')!==false
|
1719 |
) {
|
1720 |
return null;
|
1721 |
}
|
cleantalk.php
CHANGED
@@ -3,13 +3,31 @@
|
|
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.
|
7 |
Author: СleanTalk <welcome@cleantalk.org>
|
8 |
Author URI: http://cleantalk.org
|
9 |
*/
|
10 |
-
$cleantalk_plugin_version='5.
|
11 |
$cleantalk_executed=false;
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
if(!defined('CLEANTALK_PLUGIN_DIR')){
|
14 |
define('CLEANTALK_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
15 |
global $ct_options, $ct_data;
|
@@ -72,9 +90,15 @@ if(!defined('CLEANTALK_PLUGIN_DIR')){
|
|
72 |
stripos($_SERVER['REQUEST_URI'],'.xml')===false &&
|
73 |
stripos($_SERVER['REQUEST_URI'],'.xsl')===false)
|
74 |
{
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
add_action( 'wp_ajax_nopriv_ct_get_cookie', 'ct_get_cookie',1 );
|
79 |
add_action( 'wp_ajax_ct_get_cookie', 'ct_get_cookie',1 );
|
80 |
}
|
@@ -173,38 +197,32 @@ function ct_add_event($event_type)
|
|
173 |
{
|
174 |
global $ct_data,$cleantalk_executed;
|
175 |
$ct_data = ct_get_data();
|
176 |
-
|
177 |
-
if($
|
178 |
{
|
179 |
-
|
|
|
|
|
180 |
}
|
181 |
-
|
|
|
|
|
182 |
{
|
183 |
-
|
|
|
|
|
184 |
}
|
185 |
-
$ct_data['stat_all']++;
|
186 |
|
187 |
-
$
|
188 |
-
|
189 |
-
if(!isset($ct_data['stat_accepted']))
|
190 |
{
|
191 |
-
|
192 |
-
$ct_data['stat_blocked']=0;
|
193 |
-
$ct_data['stat_all']=0;
|
194 |
-
$ct_data['last_time']=$t;
|
195 |
-
update_option('cleantalk_data', $ct_data);
|
196 |
}
|
197 |
-
|
198 |
-
$last_time=intval($ct_data['last_time']);
|
199 |
-
if($t-$last_time>86400)
|
200 |
{
|
201 |
-
|
202 |
-
$ct_data['stat_blocked']=0;
|
203 |
-
$ct_data['stat_all']=0;
|
204 |
-
$ct_data['last_time']=$t;
|
205 |
-
update_option('cleantalk_data', $ct_data);
|
206 |
}
|
207 |
|
|
|
208 |
update_option('cleantalk_data', $ct_data);
|
209 |
$cleantalk_executed=true;
|
210 |
}
|
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.20
|
7 |
Author: СleanTalk <welcome@cleantalk.org>
|
8 |
Author URI: http://cleantalk.org
|
9 |
*/
|
10 |
+
$cleantalk_plugin_version='5.20';
|
11 |
$cleantalk_executed=false;
|
12 |
|
13 |
+
if(defined('CLEANTALK_AJAX_USE_BUFFER'))
|
14 |
+
{
|
15 |
+
$cleantalk_use_buffer=CLEANTALK_AJAX_USE_BUFFER;
|
16 |
+
}
|
17 |
+
else
|
18 |
+
{
|
19 |
+
$cleantalk_use_buffer=true;
|
20 |
+
}
|
21 |
+
|
22 |
+
if(defined('CLEANTALK_AJAX_USE_FOOTER_HEADER'))
|
23 |
+
{
|
24 |
+
$cleantalk_use_footer_header=CLEANTALK_AJAX_USE_FOOTER_HEADER;
|
25 |
+
}
|
26 |
+
else
|
27 |
+
{
|
28 |
+
$cleantalk_use_footer_header=true;
|
29 |
+
}
|
30 |
+
|
31 |
if(!defined('CLEANTALK_PLUGIN_DIR')){
|
32 |
define('CLEANTALK_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
33 |
global $ct_options, $ct_data;
|
90 |
stripos($_SERVER['REQUEST_URI'],'.xml')===false &&
|
91 |
stripos($_SERVER['REQUEST_URI'],'.xsl')===false)
|
92 |
{
|
93 |
+
if($cleantalk_use_buffer)
|
94 |
+
{
|
95 |
+
add_action('wp_loaded', 'ct_add_nocache_script', 1);
|
96 |
+
}
|
97 |
+
if($cleantalk_use_footer_header)
|
98 |
+
{
|
99 |
+
add_action('wp_footer', 'ct_add_nocache_script_footer', 1);
|
100 |
+
add_action('wp_head', 'ct_add_nocache_script_header', 1);
|
101 |
+
}
|
102 |
add_action( 'wp_ajax_nopriv_ct_get_cookie', 'ct_get_cookie',1 );
|
103 |
add_action( 'wp_ajax_ct_get_cookie', 'ct_get_cookie',1 );
|
104 |
}
|
197 |
{
|
198 |
global $ct_data,$cleantalk_executed;
|
199 |
$ct_data = ct_get_data();
|
200 |
+
|
201 |
+
if(!isset($ct_data['array_accepted']))
|
202 |
{
|
203 |
+
$ct_data['array_accepted']=Array();
|
204 |
+
$ct_data['array_blocked']=Array();
|
205 |
+
$ct_data['current_hour']=0;
|
206 |
}
|
207 |
+
|
208 |
+
$current_hour=intval(date('G'));
|
209 |
+
if($current_hour!=$ct_data['current_hour'])
|
210 |
{
|
211 |
+
$ct_data['current_hour']=$current_hour;
|
212 |
+
$ct_data['array_accepted'][$current_hour]=0;
|
213 |
+
$ct_data['array_blocked'][$current_hour]=0;
|
214 |
}
|
|
|
215 |
|
216 |
+
if($event_type=='yes')
|
|
|
|
|
217 |
{
|
218 |
+
@$ct_data['array_accepted'][$current_hour]++;
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
+
if($event_type=='no')
|
|
|
|
|
221 |
{
|
222 |
+
@$ct_data['array_blocked'][$current_hour]++;
|
|
|
|
|
|
|
|
|
223 |
}
|
224 |
|
225 |
+
|
226 |
update_option('cleantalk_data', $ct_data);
|
227 |
$cleantalk_executed=true;
|
228 |
}
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
|
2 |
Contributors: znaeff, shagimuratov, vlad-cleantalk
|
3 |
-
Tags: anti-spam, antispam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spam, spammers, spammy, woocommerce, wordpress spam, booking, order, subscription, gravity spam, jetpack, bots, contact form 7, contact form, registrations, ninja, Fast Secure Contact, Gravity forms, formidable, mailchimp, s2member, protection, protect, email, akismet, plugin, contact, recaptcha, google captcha, math, security, login, blacklist, cache, prevent, wordpress
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.3
|
6 |
-
Stable tag: 5.
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -22,6 +22,11 @@ No CAPTCHA, no questions, no counting animals, no puzzles, no math and no spam b
|
|
22 |
1. Stops spam in widgets.
|
23 |
1. Check existing comments for spam.
|
24 |
|
|
|
|
|
|
|
|
|
|
|
25 |
= Comments spam protection =
|
26 |
Supports native WordPress, JetPack comments and any other comments plugins. Plugin moves spam comments to SPAM folder or set option to silent ban spam comments.
|
27 |
|
@@ -39,16 +44,17 @@ Plugin blocks spam emails via any themes (built-in) contact forms. With AJAX for
|
|
39 |
|
40 |
= Other spam filters =
|
41 |
* WordPress Landing Pages.
|
|
|
42 |
* Any WordPress form (option 'Custom contact forms').
|
43 |
|
44 |
= Compatible with WordPress cache plugins =
|
45 |
* W3 Total Cache, Quick Cache, WP Fastest Cache, Hyper Cache, WP Super cache and any other cache plugins.
|
46 |
|
47 |
-
= Check existing comments for spam =
|
48 |
-
With the help of anti-spam by CleanTalk you can check existing comments, to find and quickly delete spam comments. For use this function, go to WP Console->Comments->Find spam comments.
|
49 |
|
50 |
-
= Check existing users for spam =
|
51 |
-
With the help of anti-spam by CleanTalk you can check existing comments, to find and quickly delete spam users. For use this function, go to WP Console->Users->Check for spam.
|
52 |
|
53 |
= Low false/positive rate =
|
54 |
This plugin uses multiple anti-spam tests to filter spam bots with lower false/positive rate as possible. Multiple anti-spam tests avoid false/positive blocks for real website visitors even if one of the tests failed.
|
@@ -59,10 +65,6 @@ Service CleanTalk (this plugin is a client application for CleanTalk anti-spam s
|
|
59 |
= No spam comments, no spam registrations, no spam contact emails, no spam trackbacks. CAPTCHA less anti-spam for WordPress =
|
60 |
Spam is one of the most irritating factors. Spam become every year more and conventional anti-spam can no longer handle all the spam bots. CleanTalk prevents spam and automatically blocks it. You'll be surprised of effective protection against spam.
|
61 |
|
62 |
-
= Public reviews =
|
63 |
-
> Using on WPLift was a great test as we receive huge amounts of spam.
|
64 |
-
> *Oliver Dale. <a href="http://wplift.com/wordpress-anti-spam-plugin" target="_blank">WPLift.com</a>.*
|
65 |
-
|
66 |
= Anti-spam plugin info =
|
67 |
CleanTalk is an anti-spam solution **all in 1 for WordPress** that protects login, comments, contact and WooCommerce forms all at once. You don't need to install separate anti-spam plugins for each form. This allows your blog to work faster and save resources. After installation **you will forget about spam**, CleanTalk plugin will do all the work. You won't have to deal with spam, CleanTalk will do this for you automatically.
|
68 |
|
@@ -202,6 +204,22 @@ $res now contents array with two parameters:
|
|
202 |
* $res['allow'] - is request allowed (1) or not (0)
|
203 |
* $res['comment'] - comment for our server's decision.
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
== Other notes ==
|
206 |
|
207 |
= Troubleshooting Guide =
|
@@ -288,6 +306,11 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
|
|
288 |
1. Setup Android/iOS app to have push notices when new legitiamte comments/registrations or contactcs appears on the website.
|
289 |
|
290 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
291 |
= 5.19 2015-08-11 =
|
292 |
* New feature: anti-spam checking for registered users
|
293 |
* Fixed issue with AJAX JavaScript anti-spam test.
|
@@ -715,6 +738,11 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
|
|
715 |
* First version
|
716 |
|
717 |
== Upgrade Notice ==
|
|
|
|
|
|
|
|
|
|
|
718 |
= 5.19 2015-08-11 =
|
719 |
* New feature: anti-spam checking for registered users
|
720 |
* Fixed issue with AJAX JavaScript checking
|
1 |
=== Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
|
2 |
Contributors: znaeff, shagimuratov, vlad-cleantalk
|
3 |
+
Tags: anti-spam, antispam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spam, spammers, spammy, woocommerce, wordpress spam, booking, order, subscription, gravity spam, jetpack, bots, contact form 7, contact form, registrations, ninja, Fast Secure Contact, Gravity forms, formidable, mailchimp, s2member, protection, protect, email, akismet, plugin, contact, recaptcha, google captcha, math, security, login, blacklist, cache, prevent, wordpress, User Frontend, bulk delete, bulk remove
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.3
|
6 |
+
Stable tag: 5.20
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
22 |
1. Stops spam in widgets.
|
23 |
1. Check existing comments for spam.
|
24 |
|
25 |
+
|
26 |
+
= Public reviews =
|
27 |
+
> Using on WPLift was a great test as we receive huge amounts of spam.
|
28 |
+
> *Oliver Dale. <a href="http://wplift.com/wordpress-anti-spam-plugin" target="_blank">WPLift.com</a>.*
|
29 |
+
|
30 |
= Comments spam protection =
|
31 |
Supports native WordPress, JetPack comments and any other comments plugins. Plugin moves spam comments to SPAM folder or set option to silent ban spam comments.
|
32 |
|
44 |
|
45 |
= Other spam filters =
|
46 |
* WordPress Landing Pages.
|
47 |
+
* WP User Frontend.
|
48 |
* Any WordPress form (option 'Custom contact forms').
|
49 |
|
50 |
= Compatible with WordPress cache plugins =
|
51 |
* W3 Total Cache, Quick Cache, WP Fastest Cache, Hyper Cache, WP Super cache and any other cache plugins.
|
52 |
|
53 |
+
= Check existing comments for spam. Bulk comments removal =
|
54 |
+
With the help of anti-spam by CleanTalk you can check existing comments, to find and quickly delete spam comments at once. For use this function, go to WP Console->Comments->Find spam comments.
|
55 |
|
56 |
+
= Check existing users for spam. Bulk accounts removal =
|
57 |
+
With the help of anti-spam by CleanTalk you can check existing comments, to find and quickly delete spam users at once. For use this function, go to WP Console->Users->Check for spam.
|
58 |
|
59 |
= Low false/positive rate =
|
60 |
This plugin uses multiple anti-spam tests to filter spam bots with lower false/positive rate as possible. Multiple anti-spam tests avoid false/positive blocks for real website visitors even if one of the tests failed.
|
65 |
= No spam comments, no spam registrations, no spam contact emails, no spam trackbacks. CAPTCHA less anti-spam for WordPress =
|
66 |
Spam is one of the most irritating factors. Spam become every year more and conventional anti-spam can no longer handle all the spam bots. CleanTalk prevents spam and automatically blocks it. You'll be surprised of effective protection against spam.
|
67 |
|
|
|
|
|
|
|
|
|
68 |
= Anti-spam plugin info =
|
69 |
CleanTalk is an anti-spam solution **all in 1 for WordPress** that protects login, comments, contact and WooCommerce forms all at once. You don't need to install separate anti-spam plugins for each form. This allows your blog to work faster and save resources. After installation **you will forget about spam**, CleanTalk plugin will do all the work. You won't have to deal with spam, CleanTalk will do this for you automatically.
|
70 |
|
204 |
* $res['allow'] - is request allowed (1) or not (0)
|
205 |
* $res['comment'] - comment for our server's decision.
|
206 |
|
207 |
+
= I see two loads of script cleantalk_nocache.js. Why are you use it? =
|
208 |
+
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:
|
209 |
+
|
210 |
+
define('CLEANTALK_AJAX_USE_BUFFER', false); //false - don't use output buffering to include AJAX script, true - use it
|
211 |
+
|
212 |
+
or
|
213 |
+
|
214 |
+
define('CLEANTALK_AJAX_USE_FOOTER_HEADER', false); //false - don't use wp_footer() and wp_header() for including AJAX script, true - use it
|
215 |
+
|
216 |
+
= Can i add exclusions for some pages of my site? =
|
217 |
+
Yes, you can. add in you config.php file, before defining database constants, this string:
|
218 |
+
|
219 |
+
$cleantalk_url_exclusions = Array('url1', 'url2', 'url3');
|
220 |
+
|
221 |
+
Now, all pages containg 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.
|
222 |
+
|
223 |
== Other notes ==
|
224 |
|
225 |
= Troubleshooting Guide =
|
306 |
1. Setup Android/iOS app to have push notices when new legitiamte comments/registrations or contactcs appears on the website.
|
307 |
|
308 |
== Changelog ==
|
309 |
+
= 5.20 2015-08-15 =
|
310 |
+
* Fixed anti-spam stats in admin bar - now statistics updates every hour
|
311 |
+
* Fixed issue with skipping spam submissions
|
312 |
+
* Added some PHP-constants for advanced users - CLEANTALK_AJAX_USE_BUFFER and CLEANTALK_AJAX_USE_FOOTER_HEADER can be defined to true or false in wp-config.php to control method, which will be used for injection of AJAX script.
|
313 |
+
|
314 |
= 5.19 2015-08-11 =
|
315 |
* New feature: anti-spam checking for registered users
|
316 |
* Fixed issue with AJAX JavaScript anti-spam test.
|
738 |
* First version
|
739 |
|
740 |
== Upgrade Notice ==
|
741 |
+
= 5.20 2015-08-15 =
|
742 |
+
* Fixed anti-spam stats in admin bar
|
743 |
+
* Fixed issue with skipping spam submissions
|
744 |
+
* Added some PHP-constants for advanced users
|
745 |
+
|
746 |
= 5.19 2015-08-11 =
|
747 |
* New feature: anti-spam checking for registered users
|
748 |
* Fixed issue with AJAX JavaScript checking
|
screenshot-1.png
CHANGED
Binary file
|
screenshot-3.png
CHANGED
Binary file
|
screenshot-4.png
CHANGED
Binary file
|