垃圾站 WP教程 如何从根源上拒绝Wordpress黑名单访客的垃圾评论

如何从根源上拒绝Wordpress黑名单访客的垃圾评论

垃圾站博主[www.lajiz.cn]认为“Wordpress博客自带的黑名单访客的评论被自动标记为垃圾评论”的方法挺浪费服务器资源,主要是由于垃圾评论依旧写入了数据库,如果短时间内被大量spam攻击,Wordpress这种自带的黑名单机制对保护网站数据库无济于事,因此本文讲解的这两种方法的效果是直接拒绝符合黑名单条件的垃圾站评论发表,评论不会写入数据库。

方法1:复制以下代码到comments-ajax.php文件中(随便找个地方,比如检查评论太快那段函数后面)

[php]
if( wp_blacklist_check($comment_author,$comment_author_email,$comment_author_url, $comment_content )&&!is_user_logged_in()){//登录用户还是无压力...
err(__('远离垃圾评,构建和谐博客'));
}
[/php]

方法1的原理:click submit→POST被拒绝→return→ 会保留评论框内容 == 没有submit过
优点:评论者省时省力,我是用此法来拒绝纯英文垃圾评论的,因为此类误判几率大,省得好人们重新再评论一次了;由于没有POST出去,所以相对而言对数据库压力最小;
缺点:由于comments-ajax是从表单内直接提取$_POST的的字段,所以无法匹配IP和agent类黑名单!

方法2:复制以下代码到主题的functions.php文件中

[php]
function xhd_fuckspam($comment) {
if( is_user_logged_in()){ return $comment;} //登录用户无压力...

if( wp_blacklist_check($comment['comment_author'],$comment['comment_author_email'],$comment['comment_author_url'], $comment['comment_content'], $comment['comment_author_IP'], $comment['comment_agent'] )){
header("Content-type: text/html; charset=utf-8");
exit('远离垃圾评,构建和谐博客');
} else {
return $comment;
}
}
add_filter('preprocess_comment', 'xhd_fuckspam');
[/php]

方法2原理:click submit→POST出去→收到拒绝信息 exit→return→ 会清空评论框内容并重置提交时间间隔 == submit了一次
优点屏蔽垃圾评论彻底

建议各位博主自行测试以上两种方法,最终选择合适自己博客的方法从根源上拒绝Wordpress黑名单访客的垃圾评论

PS:本方法垃圾站博客未做测试,请IP地址: 112.10.85.53 这位朋友请不要乱攻击我的博客好不好!

本文由垃圾站站长编辑整理自yuxiaoxi.com,转载请注明本文链接:https://www.lajiz.cn/1776.html

上一篇
下一篇
联系我们

联系我们

返回顶部