尽管有审核设置,但 Wordpress 评论仍获得自动批准
Wordpress comments getting auto approved despite moderation settings
我受困于此 - 我的 wordpress/wooCommerce 网站被垃圾邮件发送者攻击。
settings->discussion中的moderation设置如下...
None这些设置好像有什么作用。我没有收到电子邮件,评论只是被批准,所以垃圾邮件发送者正在杀死我。
我也安装了 akismet - 它甚至提到它有 'flagged the comments as spam' 但没有将它们移动到垃圾邮件文件夹。
我能得出的唯一结论是其他东西正在接管正常功能。
如有任何建议,我们将不胜感激。
好的,伙计们,怀疑这是一个插件。它被称为 'honeypot',这是一个非常简单的 'set and forget' 插件,可以阻止垃圾邮件。
专为那些遭受垃圾邮件攻击的 wordpress 用户 - 我找到了一种阻止垃圾评论的更好方法。
//----------------------------------------------------------------------------------------------- -
// Spam Comments Checker
//------------------------------------------------------------------------------------------------
function get_the_user_ip() {
if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
//check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
//to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return apply_filters( 'dm_get_ip', $ip );
}
if( function_exists( 'add_action' ) ) {
add_action( 'preprocess_comment', function ($commentdata) {
$userIdesntity = md5( get_the_user_ip().time() );
if( !isset( $_POST['is_valid_comment'] ) && trim( $_POST['is_valid_comment'] )== $userIdesntity ) {
die( 'Comment Spam Detected' );
}
return $commentdata;
});
};
//load js
add_action( 'wp_enqueue_scripts', function() {
//add floating widget script
wp_enqueue_script(
'comment-spam-fix',
get_stylesheet_directory_uri() . '/js/comment-spam-fix.js',
array( 'jquery' )
);
});
这是 jQuery...
var cForm = jQuery('.comment-form');
cForm.find('input[type=submit]').on('click', function(e){
e.preventDefault();
jQuery.ajax({
url: cForm.attr('action') + '?' + cForm.serialize() + '&is_valid_comment=',
method: 'post'
}).done(function( data ) {
})
.fail(function() {
alert( "error" );
});
});
锦上添花的是您可以添加到 .htaccess 文件中的这个小片段。即使您屏蔽了评论,垃圾邮件发送者仍然会让您的服务器正常工作。此修复程序对于使用它的人来说也是安全的。
甚至不要让您的服务器为他们生成 404 页面...
将他们引导至垃圾网页...
# BEGIN Anti Comment Spam
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !^(.*)yourwebsite\.com\.*
RewriteCond %{HTTP_REFERER} !^http://jetpack\.wordpress\.com/jetpack-comment/ [OR]
RewriteRule (.*) http://98jmtyxj2z9r3rhj920.com.ar/$ [R=301,L]
# END Anti Comment Spam
如果这对你有帮助,请告诉我:)
我受困于此 - 我的 wordpress/wooCommerce 网站被垃圾邮件发送者攻击。
settings->discussion中的moderation设置如下...
None这些设置好像有什么作用。我没有收到电子邮件,评论只是被批准,所以垃圾邮件发送者正在杀死我。
我也安装了 akismet - 它甚至提到它有 'flagged the comments as spam' 但没有将它们移动到垃圾邮件文件夹。
我能得出的唯一结论是其他东西正在接管正常功能。
如有任何建议,我们将不胜感激。
好的,伙计们,怀疑这是一个插件。它被称为 'honeypot',这是一个非常简单的 'set and forget' 插件,可以阻止垃圾邮件。
专为那些遭受垃圾邮件攻击的 wordpress 用户 - 我找到了一种阻止垃圾评论的更好方法。
//----------------------------------------------------------------------------------------------- -
// Spam Comments Checker
//------------------------------------------------------------------------------------------------
function get_the_user_ip() {
if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
//check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
//to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return apply_filters( 'dm_get_ip', $ip );
}
if( function_exists( 'add_action' ) ) {
add_action( 'preprocess_comment', function ($commentdata) {
$userIdesntity = md5( get_the_user_ip().time() );
if( !isset( $_POST['is_valid_comment'] ) && trim( $_POST['is_valid_comment'] )== $userIdesntity ) {
die( 'Comment Spam Detected' );
}
return $commentdata;
});
};
//load js
add_action( 'wp_enqueue_scripts', function() {
//add floating widget script
wp_enqueue_script(
'comment-spam-fix',
get_stylesheet_directory_uri() . '/js/comment-spam-fix.js',
array( 'jquery' )
);
});
这是 jQuery...
var cForm = jQuery('.comment-form');
cForm.find('input[type=submit]').on('click', function(e){
e.preventDefault();
jQuery.ajax({
url: cForm.attr('action') + '?' + cForm.serialize() + '&is_valid_comment=',
method: 'post'
}).done(function( data ) {
})
.fail(function() {
alert( "error" );
});
});
锦上添花的是您可以添加到 .htaccess 文件中的这个小片段。即使您屏蔽了评论,垃圾邮件发送者仍然会让您的服务器正常工作。此修复程序对于使用它的人来说也是安全的。
甚至不要让您的服务器为他们生成 404 页面...
将他们引导至垃圾网页...
# BEGIN Anti Comment Spam
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !^(.*)yourwebsite\.com\.*
RewriteCond %{HTTP_REFERER} !^http://jetpack\.wordpress\.com/jetpack-comment/ [OR]
RewriteRule (.*) http://98jmtyxj2z9r3rhj920.com.ar/$ [R=301,L]
# END Anti Comment Spam
如果这对你有帮助,请告诉我:)