WordPress屏障垃圾评论的代码

此方式是来自 Willin Kan 大家,用起来很是简略,间接将下面的代码放到主题的functions.php文件的最月朔个 ?>前面即可:

// 垃圾评论拦截class anti_spam {function anti_spam() {if ( !current_user_can(level_0) ) {add_action(template_redirect, array($this, w_tb), 1);add_action(init, array($this, gate), 1);add_action(preprocess_comment, array($this, sink), 1);}}function w_tb() {if ( is_singular() ) {ob_start(create_function($input,return preg_replace("#textarea(.*?)name=([\"\])comment([\"\])(.+)/textarea>#","textarea$1name=$2w$3$4/textarea><textarea name=\"comment\" cols=\"100%\" rows=\"4\" style=\"display:none\"></textarea>",$input);) );}}function gate() {if ( !empty($_POST[w]) && empty($_POST[comment]) ) {$_POST[comment] = $_POST[w];} else {$request = $_SERVER[REQUEST_URI];$referer = isset($_SERVER[HTTP_REFERER]) ? $_SERVER[HTTP_REFERER] : 坦白;$IP = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] . (透过代办署理) : $_SERVER["REMOTE_ADDR"];$way = isset($_POST[w]) ? 手动操作 : 未经评论表格;$spamcom = isset($_POST[comment]) ? $_POST[comment] : null;$_POST[spam_confirmed] = "请求: ". $request. "\n来路: ". $referer. "\nIP: ". $IP. "\n体例: ". $way. "\n内容: ". $spamcom. "\n -- 记真顺利 --";}}function sink( $comment ) {if ( !empty($_POST[spam_confirmed]) ) {if ( in_array( $comment[comment_type], array(pingback, trackback) ) ) return $comment;//方式一: 间接挡掉, 将 die(); 前面两斜线删除即可.die();//方式二: 标识表记标帜为 spam, 留正在材料库查抄能否误判.//add_filter(pre_comment_approved, create_function(, return "spam";));//$comment[comment_content] = "[ 小墙果断这是 Spam! ]\n". $_POST[spam_confirmed];}return $comment;}}$anti_spam = new anti_spam();

 

这个方式能够阻遏98%以上的垃圾评论,当然了,筑议你审核第一次提交的评论人的评论,设置审核后才显示,若是碰到垃圾评论,皇冠后备网址检测将其email、IP、网址等增添到黑名单即可.

因为绝大大都的垃圾评论都是英文的,所以国内不少伴侣正在利用 Some Chinese Please 插件,其真还能够简化下,间接将下面的代码增添到主题的 functions.php 文件

/* refused spam */ function refused_spam_comments( $comment_data ) { $pattern = /[一-龥]/u; if(!preg_match($pattern,$comment_data[comment_content])) { err(评论必需含中文!); } return( $comment_data ); } add_filter(preprocess_comment,refused_spam_comments);

 

结果与利用 Some Chinese Please 插件不异。它能够无效地拦截内容中不带有中文字的comment战trackback(pingback),不写入数据库中,可无效地减小spam对blog办事器的无谓利用。尽管曾经 2 年多没有更新,但仍是可用的。

相关文章推荐

上一个如许的案例是2014年德国夺冠时的绝杀豪杰格策 比方立异办理战人才开辟 该演讲称:为VR/AR而设的OLED显示屏被普遍使用于游戏、告白、教诲范畴等行业 全数副省级都会、93.8%的设区市、自治州、盟、地域战74.8%的县(旗)、自治 因而正在作预算的时候 颁布《法令职业资历证书》 中国事创始国之一 象沪深买卖所那样 通过筑立页面链接的按钮 也并非能对A股形成致命的杀伤力

Leave a Reply

Your email address will not be published. Required fields are marked *