自己动手修复wordpress2.7的评论BUG
昨天回复网友评论的时候没有登陆管理员账号,直接输入了自己的邮箱,结果评论竟然直接发上去了。
如果有人冒充管理员来回复网友的留言,是一个不小的安全隐患。
在此列出一下解决办法:
1.打开根目录的wp-comments-post.php
2.在if ( ” == $comment_content )前边加入如下代码
- if (!$user->ID) {
- $result_set = $wpdb->get_results("SELECT display_name, user_email FROM $wpdb->users WHERE display_name = '" . $comment_author . "' OR user_email = '" . $comment_author_email . "'");
- if ($result_set) {
- if ($result_set[0]->display_name == $comment_author) {
- wp_die( __('您所填写的昵称已经有人使用了...') );
- } else {
- wp_die( __('您所填写的邮箱已经有人使用了...') );
- }
- }
- }
3.替换上传
01/05/2009 at 18:30
如果email输入不同,是不是不能使用这个昵称呢?
这样的话把自己用户的Email设置成一个别人不知道的就行了
还是说你这个就是这种功能?
回复
一月 6th, 2009 at 9:24
这段代码的意思是在提交评论前对注册用户的昵称及email进行检测。
目前本站没有开启注册功能。也就是说,本站只禁止用户使用管理员的信息回复网友留言。
换一个大家不易猜到的email也可以实现,但是用户还是可以通过昵称留言。除非把文章作者也隐藏掉。
01/05/2009 at 22:36
多谢崔凯的提醒。
已经加上!
回复
01/05/2009 at 22:49
安全隐患到不至于~
只能算个bug吧
回复
01/06/2009 at 0:43
不错,有学了一招
回复
01/06/2009 at 15:10
受教了!呵呵,回去搞一下!
回复
01/08/2009 at 15:27
晕死 这个改动和插件cos-html-cache有冲突。
加了之后的几天,一直没有评论,结果好友今天告知,你的blog已经不能回复评论了……
又换回来了~··
回复
01/16/2009 at 11:43
所以我一直強調評論要審核,這樣就沒問題了
回复
03/27/2009 at 13:56
2.7.1是不是已经修复了没个BUG?
回复
六月 30th, 2009 at 16:10
官方仍然没有修正该问题。
06/30/2009 at 20:46
如果 昵称和邮件都用了 就会显示您 所填写的昵称已经有人使用了…
能不能显示是 您所填写的昵称和邮箱已经有人使用了…
从wp论坛过来的 你的文都对我有帮助 就是那个CTRL+ENTER的代码 我不知道加在哪里合适 我是菜鸟
回复