当前位置:图集之家知识

wordpress防垃圾评论代码 — WordPress非插件纯代码实现wordpress评论验证码

wordpress防垃圾评论代码 — WordPress非插件纯代码实现wordpress评论验证码

内容

最近一段时间来,奇芳阁的wordpress博客中的垃圾评论就像洪水泛滥,一发不可收拾。WordPress垃圾评论数量多容易掩盖正常的读者评论,批量删除垃圾评论又容易造成误删,WordPress垃圾评论发布机器持续不断地向网站提交评论请求,频率足够高的话则变演变成一种网站攻击,配置差一些的网站主机很有可能因此而运行缓慢,严重者造成服务器宕机,无法正常访问。

WordPress的垃圾评论的危害是不言而喻的,对付Wordpress垃圾评论不仅要阻断垃圾评论的发布,更要提前阻止垃圾评论的提交。虽说网上有很多wordpress验证码插件,可奇芳阁部落又不愿意安装插件本文将分享使用代码实现为wordpress评论添加一个简单的加法运算验证码,杜绝那些使用软件群发的垃圾评论。

wordpress防垃圾评论之不用插件添加验证码:

第一步:添加计算函数

首先,我们要在当前主题的 functions.php文件中添加以代码:

//评论添加验证码

function spam_protection_math(){

$num1=rand(0,9);

$num2=rand(0,9);

echo input type='text' name='sum' class='math_textfield' value='' size='25' tabindex='4'br/

.input type='hidden' name='num1' value='$num1'

.input type='hidden' name='num2' value='$num2'

.$num1 + $num2 = ?;}

function spam_protection_pre($commentdata){

$sum=$_POST['sum'];

switch($sum){

case $_POST['num1']+$_POST['num2']:break;

case null:wp_die('对不起: 请输入验证码.');break;

default:wp_die('对不起: 验证码错误,请重试.');

}

return $commentdata;

}

if($comment_data['comment_type']==''){

add_filter('preprocess_comment','spam_protection_pre');

}

第二步:修改原评论框内容

添加完计算函数之后,然后我们修改当前主题comments.php这个文件,找到在发表评论显示验证码的地方,添加以下代码:

?php spam_protection_math();?

第三步:禁止垃圾评论提交到数据

完成以上操作后,WordPress评论添加验证码功能也已经完成,不过后来还是收到了几个垃圾评论,当然,数量已经非常少,这时候我们可以使用WordPress代码禁止垃圾评论提交到数据!将以下代码放入 functions.php文件中:

//禁止垃圾评论提交到数据库

function uedsc_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);

wp_die('您评论包含辱骂,过激或者违反法律等言论,或者您的IP已被加入黑名单,如有疑问请联系管理员处理!a href=javascript:history.go(-1);返回文章页/a');

} else {

return $comment;

}

}

add_filter('preprocess_comment', 'uedsc_fuckspam');

当然了,奇芳阁还建议你审核第一次提交的评论人的评论,设置审核后才显示,如果遇到垃圾评论,将其email、IP、网址等添加到黑名单即可

*特别声明:资源收集自网络或用户上传,本网站所提供的电子文本仅供参考,请以正式出版物为准。电子文本仅供个人标准化学习、研究使用,不得复制、发行、汇编、翻译或网络传播等。如有侵权,请联系我们处理。

相关