我一直知道 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 原创,转载请以链接形式标明本文地址!
这代码犀利啊。。。。
@一世年华
Copy的……
@zwwooooo
被你折腾之后的 比较给力。
[...] This post was mentioned on Twitter by Weitian Zhao, zwwooooo. zwwooooo said: 『ZWWoOoOo』 还是加上了“防止访客冒充博主发表评论” http://goo.gl/fb/jsbwo [...]
好代码,收下了。
神马原理啊,知道昵称和邮箱难道还不可以冒充?
@Mucid
针对自己博客的,你要到其他地方冒充就没办法了
@zwwooooo
扯蛋,Mucid就在这里冒充Veezy,还是可以啊?
PS:事后请删除这两条留言……
@Veezy
你没理解我的意思,意思是你不能冒充博主,这里的博主是我……
@Mucid
你没理解我的意思,意思是你不能冒充博主,这里的博主是我……
这个在不登录的情况下有效吗?
@老王
不登录就是访客了
这是以前看过,但没加……
@闪闪的星
比较早的代码了
evernoting,以备后患...
呵呵..这个应该没什么吧.最多言论攻击而已.哈哈!
@混乱博客
一般没事
我这暂时没发现此恶习
先收藏
@A.shun
一般都不会吧,呵呵
以常用这样的事,这个
@软件盒子
常见?应该很少吧
記得winy也有寫過有關這類問題的文章呀:D
@小闇
厄,难道出自他那里?
如果访客恰好和博主同名,岂不是杯具了?@@
@Vicia
去掉这一行
邮箱就不用了,难道有人同邮箱?
@zwwooooo
那只要有和博主一样的头像也可以冒充(其实我就是来找茬的,哈哈)
@Vicia
我可以加入黑名单啊,当然你又可以找茬说:换一个邮箱……然后我又……如此这样不断……最后我直接关闭评论!哈哈哈哈
邪恶
@zvv
这是防范不是邪恶吧
您好,请问 我添加以后 去测试 没有请勿冒充博主发表评论!的提示弹出是怎么回事呢?
@Spark
别忘了退出登录再测试
博主提醒的是啊!小心防范一下。
小心防范一下。
Z大,插楼问一句,怎样能把js代码转成jQuery啊?
@有点蓝
这个不知道,哈
T_T 你怎么搬家了..QQ联系不上你了..我去..
@mice
被逼搬家……唉,命苦
访问多的的确需要
@老大网络
有攻击迹象的需要吧
情人节,万戈留下了令人难忘的一笔
@gsid
哈哈,蛋疼吧