使用wordpress的朋友都会受到spam机器人的攻击,网上也有许多这方面的wordpress插件。但由于spam机器人往往都是通过直接读取wp-comments-post.php(评论文件)实现自动留言,所以根本不会去填写评论表单。于是乎各种评论插件往往变得毫无意义,spam机器人仍会大行其道。在这里,骤雨打新荷为大家介绍一个国外网友通过修改.htaccess来限制spam机器人的wordpress技巧。
将下面的代码添加到站点根目录下的.htaccess文件中:
- RewriteEngine On
- RewriteCond %{REQUEST_METHOD} POST
- RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
- RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
- RewriteCond %{HTTP_USER_AGENT} ^$
- RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
注意:要添加到
- # BEGIN WordPress
这一行下面,并修改其中的yourblog.com为你的网址。
上面这段代码可以验证评论者是否通过文章评论表单访问wp-comments-post.php文件。如果是,则允许评论,反之将被重新定向并阻止其(spam机器人)评论。经测试,此方法虽不能百分之百杜绝垃圾评论,但可有效减少spam机器人的垃圾评论数量。
原文:http://www.wprecipes.com/how-to-deny-comment-posting-to-no-referrer-requests