方法一
将以下代码加入到functions.php
中
- function mac_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('你填写的某项信息或IP地址已被列入黑名单,无法进行评论,请文明评论!');
- } else {
- return $comment;
- }
- }
- add_filter('preprocess_comment', 'mac_fuckspam');
方法二
将以下代码加入到comments-ajax.php
中(比如检查评论太快那段函数后面)
- if( wp_blacklist_check($comment_author,$comment_author_email,$comment_author_url, $comment_content )&&!is_user_logged_in()){//登录用户还是无压力...
- err(__('你填写的某项信息或IP地址已被列入黑名单,无法进行评论,请文明评论!'));
- }
两种方法原理和优缺点对比:
- 方法一:click submit→POST出去→收到拒绝信息 exit→return→ 会清空评论框内容并重置提交时间间隔 == submit了一次
优点: 杀毒彻底 - 方法二:click submit→POST被拒绝→return→ 会保留评论框内容 == 没有submit过
优点:- 评论者省时省力, 因为此类误判几率大, 省得好人们重新再评论一次了;
- 由于没有POST出去, 所以相对而言对数据库压力最小;
缺点: 由于comments-ajax是从表单内直接提取$_POST的的字段,所以无法匹配IP和agent类黑名单
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
您可以选择一种方式赞助本站
赏