尽管有审核设置,Wordpress评论仍会获得自动批准

时间:2015-01-08 04:03:30

标签: wordpress wordpress-plugin comments

我被困在这个 - 我的wordpress / wooCommerce网站被垃圾邮件发送者鞭打了。

设置>讨论中的审核设置如下设置......

My wordpress comment settings

这些设置似乎都没有任何效果。我没有收到任何电子邮件,评论只是批准,所以垃圾邮件发送者正在杀了我。

我也安装了akismet - 它甚至提到它“已将评论标记为垃圾邮件”,但未将其移至垃圾邮件文件夹。

我能做出的唯一结论是其他东西正在取代正常的功能。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

好的家伙,因为怀疑这是一个插件。它被称为'honeypot',它意味着一个很好的“设置和忘记”插件,可以阻止垃圾邮件。

对于那些遭受垃圾邮件攻击的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文件中的这个小片段。即使您阻止评论,垃圾邮件发送者仍然会使您的服务器正常工作。对于使用它的人来说,此修复程序也将是jetpack注释安全的。

甚至不要让服务器为他们生成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

请告诉我这是否有助于您:)