被垃圾评论围攻,相信作为博主都深有体会,于是乎什么图片验证、小学加减法、滑动解锁等防垃圾评论方法广为流传,其实这些小儿科的应对方法,对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://xingkongweb.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
注:添加到默认生成的.htaccess文件(不要告诉我你没有这个文件):
# BEGIN WordPress
下面。
上面的代码可以阻止大多数无referer来源的spam机器人,查询访问你网站的来源链接,阻止其通过wp-comments-post.php来进行垃圾评论