我一直知道 WordPress 博客下访客是可以冒充博主发表/回复评论的,只要你知道博主的邮箱地址即可,但我一直懒得去加,因为开此博至今2年多几乎没有人在我这冒充博主发表/回复评论。
情人节前夜,不知道万戈是否耐不住寂寞还是为了即将来临的“爱要死”兴奋不己,特意来测试冒充一回(冒充评论可以点这里去围观一下),让我感觉到有点怕怕:要是某天不是万戈而是超兴奋的spammer冒充一回不就要删到手软?于是我觉得还是加上这段“防止访客冒充博主发表评论”的代码比较好,防范于未然总是比较好的。
我记得我很早就收藏过这段代码(却不知道哪里出的了,去搜一下,一大把,个个都没说出自哪里……囧~),但是使用效果有点变态:可以防止访客冒充博主了,不过切把已经登陆的博主也禁止了,囧~这就是没有测试直接 Copy 代码的结果。
那么分析代码,原代码结构如下:
// 防止访客冒充博主发表评论, 原出处: ? 知道者/原作者请告知一声 function z_user_check($incoming_comment) { $isSpam = 0; if ( trim($incoming_comment['comment_author']) == '这里填博主昵称' ) $isSpam = 1; if ( trim($incoming_comment['comment_author_email']) == '这里填博主邮箱') $isSpam = 1; if(!$isSpam) return $incoming_comment; wp_die('请勿冒充博主发表评论!'); } global $user_ID; if(intval($user_ID) == 0) add_filter( 'preprocess_comment', 'z_user_check' );
或许是引用变量 $user_ID 的问题,于是我改为如下,华丽的解决了:
// 防止访客冒充博主发表评论, 原出处: ? edit by zwwooooo function z_user_check($incoming_comment) { global $user_ID; $isSpam = 0; if ( strtolower(trim($incoming_comment['comment_author'])) == '这里填博主昵称' ) $isSpam = 1; if ( strtolower(trim($incoming_comment['comment_author_email'])) == '这里填博主邮箱') $isSpam = 1; if (!$isSpam || intval($user_ID) > 0) { return $incoming_comment; } else { wp_die('请勿冒充博主发表评论!'); } } add_filter( 'preprocess_comment', 'z_user_check' );
折腾完,隐~
2011.2.17 Update:加入大小写验证。
zww
赏
oooo
or
- 本文标题:还是加上了“防止访客冒充博主发表评论”
- 本文链接:https://zww.me/archives/25392
- 发布时间:2011年02月16日 13:07
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
可以加上显纯真IP吧,可以看出谁冒充。
@郑永
不纠结这些,谁蛋疼爱冒充谁就冒充谁,我可以当作是水贴,涨评论数。
@zwwooooo
呵呵,我的错,兄弟,这还不是希望你们多整些代码给大伙分享一下 :)多折腾,尽量完善。
真是这样的话那人肯定也是无聊蛋疼的要死
@火头坨工
你说对鸟
路过看下
@漏网小鱼
不买酱油了?
国人喜欢最喜欢研究这种专人漏洞的东西了,哈哈!
@Jayuh
所以缺乏创造性,杯具
冒充!!!
好像从来都没有碰到过!
@古墓候梅
其实可以直接忽视
这是个安全问题的修复啊
这个调用到我那里去,测试发现,当没登录用博主邮箱评论时会导致整个页面像右偏移变形
是CSS问题,怎么解决。。。
@liveme
解决你主题的css问题啊
第一次了解这个事情
真牛了啊
不错~~~好东西~~~
加在主题的function.php文件吗?
@Junan
是的
应该没人这么无聊吧?有人冒充也反应了你的博客受欢迎啊。
我来冒充下了OOOO
不过貌似你比我多一个O ,嘿嘿~:razz:
@TgoooO
有,但非常甚少
装了Akismet的时候被spammer冒充就悲剧了,手滑删个几次自己账户就进了黑名单= =
@星野苍真
貌似近黑名单还要去给Ak发邮才有一定几率恢复…
@星野苍真
通常是恶意者才有所为
@Lotwen
我就是手滑删了自己几次进黑名单了= =,发邮件说明之后把邮箱地址回复了,但名字要改
ZWW是人才 鉴定完毕
@Paran
人才中的废柴
这样不登陆就没法用自己的号留言了啊 = = …
貌似见过柳城被冒充…
@Lotwen
嗯嗯,博主自己还是登录吧
这个还有冒充的啊?太恐惧啦!
@zhx
是啊,不过很少有人这样做
测试有用,有空加上,嘻嘻~~~
@IM路人
这个不急
已经用上了,嘿嘿
确实不错滴!更新更新更健康啊
相当的实用。
@Mars
有点用吧