wordpressのごみ評論と最後まで戦う

1726 ワード

本人個人ブログサイトのスペースとmysqlスペースは限られており、共有サーバリソースも限られているため、これらのスパムコメントは必ずデータベースへの書き込みをブロックしなければならない.
更に腹立たしいのは空間の統計を見て、とても数千のIPアクセス、しかし基本的にすべてこのごみの評論のIPで、だから本当に我慢できません
ネット上でいくつかの方法を探して、主に3つあって、もしこの3つを1つずつ使うならば基本的にほとんどのごみの評論を遮断することができます
一、Akismetプラグインを使用して、バックグラウンドで無料のkeyを申請し、99%のゴミコメントをブロックすることができますが、このプラグインはゴミコメントをデータベースに書き込むことができます.数千件から数万件のゴミコメントを設定することができます.15日後に自動的に削除することができますが、見ても違和感があり、2つ目の方法を加えます.
二、wp-comments-post.php名の変更
この方法は、wp-comments-post.phpを勝手な名前に変更し、テーマファイルのcomments.phpでwp-comments-post.phpをさっき変更した名前に変更します.
しかし、現在のspamロボットは強すぎて、この方法は基本的に何の役にも立たないので、ゴミコメントはバックグラウンドのゴミコメントに入ります.そこで、3つ目の方法を取って、純粋な英語のゴミコメントをフィルタリングします.このコメントはゴミコメントの大部分を占めています.
三、純粋な英語のごみの評論を濾過する
トピックのfunctions.phpに次のコードを追加します.
function refused_spam_comments( $comment_data ) {  
    $pattern = '/[ - ]/u';  
    if(!preg_match($pattern,$comment_data['comment_content'])) {  
    wp_die('       !');  
}  
    return( $comment_data );  
}  
add_filter('preprocess_comment','refused_spam_comments');

その中の[1-龥]という正則表現はすべての中国語を代表して、この時純粋な英語のごみの評論はフィルタリングしましたが、もう一つのごみの評論があります.
日本語は同じ方法を採用して、いくつかのよく現れる日本語の仮名を正規表現の中に書いてもらって、の、n、優、業、格、貿易
function fuckjp_comment_post( $incoming_comment ) {
    $http = '/[<|=|.| | |KTV|ッ|の|ン| | |グ| |]/u';
    if(preg_match($http, $incoming_comment['comment_content'])) {
    wp_die( "     !" );
}
    return( $incoming_comment );
}
add_filter('preprocess_comment', 'fuckjp_comment_post');

 
この3点を総合して使って、やっときれいになりました・・・
参考記事
http://www.v7v3.com/wpjiaocheng/201308215.html
http://www.pzboy.com/soft/php/english-comments/