六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 81|回复: 0

WordPress 主题制作技巧之二 [ 主动添加反垃圾留言代码 ]

[复制链接]

升级  20%

24

主题

24

主题

24

主题

秀才

Rank: 2

积分
80
 楼主| 发表于 2012-10-25 23:41:41 | 显示全部楼层 |阅读模式
跟许多园友一样,我的基于wordpress的独立博客建立之初也饱受垃圾留言的困扰,后来也用过包括Akismet和some chinese please在内的几个反垃圾留言插件,但是我本人最不愿看到后台中插件一大堆的情况,无论对博客加载速度还是对版本更新的稳定性都不好,后来在网上寻觅不使用插件的方法,经过综合与修改,我在网站中内置了一个简单实用的留言验证功能,一直沿用至今。不喜欢用插件的童鞋们可以看看。
本方法是利用rand()函数生成两个一位的自然数,评论者输入二者之和后,网页利用js代码和php代码进行输入结果验证,原理简单地像没有一样,但是稳定实用,用户体验很流畅,屏蔽垃圾留言的效果也很好。
首先在模板文件中打开 comments.php ,在评论提交表单中你认为合适的地方插入一项验证条目(我把它插到了提交按钮的上方),代码如下:
<?php if (!$user_ID) : ?>     <?php $lt_sub_a=rand(0,5); $lt_sub_b=rand(3,9); ?>     <p>    <input type="text" size="17" name="lt_sub_ab" id="lt_sub_ab" tabindex="4" /> = <?php echo $lt_sub_a; ?> + <?php echo $lt_sub_b; ?>    <label for="check"> &nbsp;&nbsp;&nbsp;&nbsp;请完成等式 *</label>    <input name="lt_sub_a" id="lt_sub_a" value="<?php echo $lt_sub_a; ?>" type="hidden" />    <input name="lt_sub_b" id="lt_sub_b" value="<?php echo $lt_sub_b; ?>" type="hidden" /    ></p> <?php endif; ?>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表