wordpress禁止没有Gravatar头像的访客提交评论
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-22 11:21:37 浏览: 评论:0
为了防止垃圾评论各种方法都想尽了,下面我看网站有人说在wordpress禁止没有Gravatar头像的访客提交评论也可以防止机器提交了广告了,下面我们来看看.
1 为何限制没有Gravatar头像的访客
前几天博主就一直在想着是否要限制没有gravatar头像的用户在博客留言,主要原因有三点:
1、博客使用的是wordpress程序,而Gravatar早在07年就被Automattic公司收购并在wp程序上发扬光大,所以,wp博客和gravatar头像天生就是一对,当然要让他们在一起了.
2、屏蔽广告。很多spamer都是没有gravatar头像的,限制没有gravatar头像的访客就等于过滤掉了相当一部分的垃圾广告,扯远一点,多说插件为众多广告商做出了巨大贡献.
3、屏蔽毫无意义的评论。
一般没有gravatar头像的访客不会活跃在博客圈,大多是有问题就找你,一解决就拍屁股走人,博主深有体会,之前写了一篇《动易官方论坛的邀请码》,很多人拿到邀请码后连句谢谢都没有,博客本来就是一个交流的平台,失去了和用户的交互,那就没有任何意义了,所以,为了提升博客整体质量,需要屏蔽这部分访客.
那么接下来就说说实现“wordpress中限制没有Gravatar头像的访客提交评论”的具体方法:
2 判断是否具有Gravatar头像的函数
在functions.php中添加下面的函数,其作用是根据提交的email字段判断该留言者是否具有gravatar头像,还有种方法是通过http://www.gravatar.com/avatar/获取到头像文件的大小值是否为2637k来判断,具体方法大家可以参考《再议Gravatar头像缓存至本地服务器》中的代码,代码如下:
- /*
- * @author:vfhky 2013年09月11日20:23
- * @param string $email 用户提交的表单中的email字段
- * @return int 0:无gravatar头像; 1:有gravatar头像
- **/
- function vfhky_checkgravatar($email){
- $email_hash = md5(strtolower(trim($email)));
- $check_uri = 'http://www.gravatar.com/avatar/' . $email_hash . '?d=404';
- $headers = @get_headers($check_uri);
- if (!preg_match("|200|", $headers[0])) {
- return 0;
- }
- else {return 1;}
- }
3 在comments-ajax.php中调用判断函数
gravatar头像判断函数完成后,就可以在Willin Kan大神的comments-ajax.php文件中调用了,大概在该文件的90行处,在原代码中加入判断函数进行调用即可,代码如下:
- /*
- * @author:vfhky 2013年09月11日20:30
- * @param string $comment_author_email 用户提交的表单中的email字段
- **/
- if ( !$user->ID ) {
- if ( 6 > strlen($comment_author_email) || '' == $comment_author )
- err( __('提示:必须填写昵称及邮件。') );
- elseif ( !is_email($comment_author_email))
- err( __('提示:请输入一个有效的电子邮件地址。') );
- elseif (vfhky_checkgravatar($comment_author_email) == 0)
- err( __('请使用Gravatar头像留言。') );
- }
4 后记:wordpress中限制没有Gravatar头像的访客提交评论,简单两步就实现了限制没有Gravatar头像的访客提交评论,当然,这个功能也可以用jquery实现,不过,一旦用户浏览器屏蔽了js,那么也就没效果了,所以,综合考虑还是用服务器端判断更为安全可靠,虽然增加了额外资源的消耗.
Tags: wordpress 禁止 Gravatar头像
相关文章
- ·WordPress初级教程1:什么是博客?(2013-11-11)
- ·WordPress初级教程-2: 什么是WordPress?(2013-11-11)
- ·WordPress初级教程-3: WordPress的功能和特点(2013-11-11)
- ·WordPress初级教程-4: 选择WordPress博客的主机和域名(2013-11-11)
- ·WordPress初级教程-5: 安装WordPress(2013-11-11)
- ·WordPress初级教程-6: 本地安装WordPress(2013-11-11)
- ·WordPress初级教程-7: 一个数据库中安装多个WordPress博客(2013-11-11)
- ·WordPress初级教程-8: WordPress控制面板/ Dashboard(2013-11-11)
- ·WordPress初级教程-9: WordPress用户设置/ Users(2013-11-11)
- ·WordPress初级教程-10: WordPress博客配置/ Settings(2013-11-11)
- ·关于wordpress上传图片不显示的原因(2013-11-11)
- ·WordPress程序的脆弱点你知道吗 (2013-11-11)
- ·总结八大Wordpress网站百度收录实现秒收的方法绝招 (2013-11-11)
- ·WordPress如何网站投稿者也可以上传图片(2014-03-18)
- ·WordPress怎么修改新用户注册邮件内容(2014-03-18)
- ·WordPress怎么添加前台注册功能(2014-03-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)