wordpress利用.htaccess拒绝spam机器人评论

  • 酉灿
  • WordPress
  • Jul 23, 2021

被垃圾评论围攻,相信作为博主都深有体会,于是乎什么图片验证、小学加减法、滑动解锁等防垃圾评论方法广为流传,其实这些小儿科的应对方法,对Spam 机器人毫无用处,因为大多数Spam根本不会去添写评论表单,而是直接读取Wordpress程序核心文件wp-comments-post.php(评论)实现自动留言。

对于使用已集成ajax评论功能的主题,可以直接删除wp-comments-post.php来屏蔽防spam机器人,同时不会影响到正常的读者留言。

不过问题又来了,对于像我一样启用了移动版主题,而移动版主题并未集成ajax评论功能,造成在移动设备上无法留言。

本文的方法虽然是N年前的,却能很好地解决这一问题(经测试并不能完全屏蔽spam机器人)。

将下面代码添加到网站根目录的.htaccess文件中即可,不要忘记修改第4行域名为你的网址。

  1. # WPhtC: Protect comments.php  
  2. RewriteCond %{REQUEST_METHOD} POST  
  3. RewriteCond %{REQUEST_URI} .wp-comments-post\.php*  
  4. RewriteCond %{HTTP_REFERER} !.*http://https://zmingcx.com.* [OR]  
  5. RewriteCond %{HTTP_USER_AGENT} ^$  
  6. RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]  

注:添加到默认生成的.htaccess文件(不要告诉我你没有这个文件):

  1. # BEGIN WordPress  

下面。

上面的代码可以阻止大多数无referer来源的spam机器人,查询访问你网站的来源链接,阻止其通过wp-comments-post.php来进行垃圾评论

参考:http://www.wprecipes.com/how-to-deny-comment-posting-to-no-referrer-requests

打赏