直接拒绝 WordPress 黑名单评论的发表

大家都知道 WordPress 黑名单的评论会被自动标记为垃圾评论, 但是垃圾评论还是写入了数据库, 如果集中时间段被大量spam攻击, 这种黑名单机制对保护数据库无济于事。

于是有了下面的代码, 效果是直接拒绝符合黑名单条件的评论发表, 评论不会写入数据库。

1、如没使用 ajax 提交评论的话,下面的代码直接丢主题的 functions.php 里面就可以了。

function cy_blacklist_spam($comment) {
if( is_user_logged_in()){ return $comment;} //登录用户无压力...
$comment['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', "",$_SERVER['REMOTE_ADDR'] );
$comment['comment_agent'] = isset($_SERVER['HTTP_USER_AGENT'] ) ? substr($_SERVER['HTTP_USER_AGENT'], 0, 254 ) : "";
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', 'cy_blacklist_spam');

2、如果用了 ajax 提交评论,将下面的代码集成到 ajax 评论判断处即可。

 if( wp_blacklist_check($comment_author,$comment_author_email,$comment_author_url, $comment_content )&&!is_user_logged_in()){//登录用户还是无压力...
err(__('垃圾评论'));
}

via - 小蝴蝶:http://xiaohudie.net/code/fuck-spam.html

免责声明:本博客(https://cyhour.com/)仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,所有信息仅供参考,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!
除非注明,沙唐桔文章均为原创,本文地址 https://cyhour.com/6/AMP 移动加速版本)转载时必须以链接形式注明原始出处。
Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息,或支持老杨
Views: 1.2K Tags:  , 

Comments:0

发表留言

Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息