鉴于 Akismet 治标但不治本,可通过修改代码,为评论表单加上简单的算术验证。
首先,编辑 WordPress 根目录下的 wp-comments-post.php 文件,找到以下代码(WordPress 2.8.5位于 70 行):
//算术验证开始 if ( !$user->ID ) { $aaa = trim($_POST[aaa]); $bbb = trim($_POST[bbb]); $subab = trim($_POST[subab]); if((($aaa+$bbb)!=$subab)|| empty($subab)){ wp_die( __(请重新计算算式) ); } } //算术验证结束 if ( '' == $comment_content ) //!!!在此语句之前,添加上面的代码!!!
然后,找到当前主题的评论模板,一般为 comments.php 文件。在填写用户/电邮之后、发表评论按钮之前,插入以下代码:
<p> <?php $aaa=rand(0,5); $bbb=rand(4,9); ?> <?php echo $aaa; ?>+<?php echo $bbb; ?> = <input type="text" name="subab" id="subab" size="2" tabindex="5" style="width:30px" /><?php if ($req) _e('(required)'); ?> <input name="aaa" value="<?php echo $aaa; ?>" type="hidden" /> <input name="bbb" value="<?php echo $bbb; ?>" type="hidden" /> </p>
其中 rand() 函数用以产生随机数,可根据计算难度需要设定种子。 是显示限定为(必需)项,可根据应用主题不同作相应修改。
转载自:http://blog.nianqing.net/?p=349
THE END
小蔷不错哦
这个主要验证什么?怎么验证修复网站格式的正确性呢? 比如 如果网址填错了自动清空?
留个脚印,不错,学习了.
现在看到cn域名第一反应是:是不是垃圾站,第二反应是:怎么cn还能用!
我一直使用插件Antispam Bee
我用willin大师的小强,没用插件
来看看!打瓶酱油~
要成人酱油还是小盆友用的?
这个挺好!不过我目前还用不着,呵呵
我嫌加的麻烦,一升级就得重新弄。