手工增加WordPress评论算术验证码
自上次升级到wordpress3.0以后,防止垃圾评论的插件失效后我就很纠结,每天都能产生几十条垃圾评论。当然也找过好几个评论过滤插件,基本都很繁琐,大部分是采用生成图片做验证码的。不说我的空间支持不了生成图片,还影响页面的速度(多了一个动态图片)。最后还是决定参考Math Comment Spam Protection的思路,给评论增加一个算术表达式。
正好,之前见过有博客也是手工添加的。现在,我把办法抄过来了:
一、打开根目录下的wp-comments-post.php,查找if ( '' == $comment_content ),在此上面增加:
//手工验证码 2010/8/7 simonsu
if ( !$user->ID ) {
$aaa = trim($_POST[aaa]);
$bbb = trim($_POST[bbb]);
$subab = trim($_POST[subab]);
if((($aaa+$bbb)!=$subab)|| empty($subab)){
wp_die( __('错误提示:请正确输入的两数相加的和。') );
}
}
//手工验证码 2010/8/7 simonsu
二、在主题的comments.php文件中找到评论表单的位置,在适当的地方强烈插入如下代码:
<?php if (!$user_ID) : ?>
<?php $aaa=rand(0,5); $bbb=rand(3,9); ?>
<p><label>验证码:</label><input type="text" name="subab" id="subab" size="2" tabindex="5" style="width:50px" />=<?php echo $aaa; ?>+<?php echo $bbb; ?><small>(必填)</small><span>请输入两数的和。</span><input name="aaa" value="<?php echo $aaa; ?>" type="hidden" /><input name="bbb" value="<?php echo $bbb; ?>" type="hidden" /></p>
<?php endif; ?>
注意上面的尖括号需要改为半角下的。
三、搞定了。注意一点,我在文件中直接用了中文,因此你的文件编码必须为utf-8。
- 相关文章
- 博客升级至wordpress 3.0后Math Comment Spam Protection失效本博升级到Wordpress 3.0解决wordpress自动修改htaccess的问题通过.htaccess更正国外空间的时区问题使用google浏览器chrome扩展来监视wordpress的评论更改wordpress的评论用户的主页为新窗口打开通用设置htaccess来优化wordpress实现yslow评分达到A优化wordpress的图库(相册)lightbox效果博客与附件分家了wordrepss的HTML编辑模式添加链接增加target="_blank"写Wordpress博客不自动生成缩略图的方法wordpress实现附件分离到另一服务器wordpress半角引号变成全角引号问题的解决解决tsov出国后无法直接在后台备份及发送邮件的问题Tsov-Weather plus升级至1.4版(解决UTF-8编码和指定城市的功能)TSOV的wordpress天气插件功能升级了[紧急通告]TSOV的wordpress天气插件访问量过大,请更换分站地址网站PR更新的感悟我的wordpress weather widget(天气插件)饲养蜘蛛技巧
当前共有26条评论,我也要发表: