尽管有审核设置,但 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

如果这对你有帮助,请告诉我:)