wordpress利用.htaccess拒绝spam机器人评论
被垃圾评论围攻,相信作为博主都深有体会,于是乎什么图片验证、小学加减法、滑动解锁等防垃圾评论方法广为流传,其实这些小儿科的应对方法,对Spam 机器人毫无用处,因为大多数Spam根本不会去添写评论表单,而是直接读取Wordpress程序核心文件wp-comments-post.php(评论)实现自动留言。
对于使用已集成ajax评论功能的主题,可以直接删除wp-comments-post.php来屏蔽防spam机器人,同时不会影响到正常的读者留言。
不过问题又来了,对于像我一样启用了移动版主题,而移动版主题并未集成ajax评论功能,造成在移动设备上无法留言。
本文的方法虽然是N年前的,却能很好地解决这一问题(经测试并不能完全屏蔽spam机器人)。
将下面代码添加到网站根目录的.htaccess文件中即可,不要忘记修改第4行域名为你的网址。
- # WPhtC: Protect comments.php
- RewriteCond %{REQUEST_METHOD} POST
- RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
- RewriteCond %{HTTP_REFERER} !.*http://https://zmingcx.com.* [OR]
- RewriteCond %{HTTP_USER_AGENT} ^$
- RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
注:添加到默认生成的.htaccess文件(不要告诉我你没有这个文件):
- # BEGIN WordPress
下面。
上面的代码可以阻止大多数无referer来源的spam机器人,查询访问你网站的来源链接,阻止其通过wp-comments-post.php来进行垃圾评论
参考:http://www.wprecipes.com/how-to-deny-comment-posting-to-no-referrer-requests