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

2013年09月21日13:08:54 14 已收录 1,607

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

之前写过《Hotnews Pro主题防spam小技巧》,对于使用已集成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://http://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

 

weinxin
我的微信
分享交流WordPress经验与技巧,关注前端设计与网站制作。仅用于功能演示。
Begin主题购买
Begin主题购买

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:14   其中:访客  11   博主  0   引用   3

    • 在路上 4

      这明显是沙发啊…
      之前是删除自动的评论模板,使用多说后也老是有一个ip的垃圾评论,不知道是不是多说也有漏洞

      • 在路上 4

        这明显是沙发啊…
        之前是删除自动的评论模板,使用多说后也老是有一个ip的垃圾评论,不知道是不是多说也有漏洞.
        还有最近的图片暗箱特效不知道为何失效,正在逐个排查中,不知道是不是自己vps环境设置的问题

        • 围挡 4

          这样应该没有使用系统自动的插件好吧?

          • 秋水逸冰 2

            经测试,博主的代码中第4行多了一个http://
            去除后可正常提交评论。

            • 工业制冷 2

              太好了,之前天天都有垃圾评论,挺烦人的,现在好了,谢博主分享。

              • 异次元sky 2

                表示BAE真的没有.htaccess
                不过BAE有app.conf

                • martin 3

                  笔者之前一天就有二三十条垃圾评论,用上之后奇迹般的消失了。牛掰

                  • 金弓 1

                    学到东西了!

                    • 值得一试 0

                      我的博客为了被垃圾评论围攻一般设置,15天之后自动关闭评论。这样少多了~

                      • 百赖小生 2

                        这个方法不错,今天就碰到了。

                        • Black Hawk 3

                          在顶部搜索栏搜索“视频”地址是:http://www.lrshare.com/?s=%E8%A7%86%E9%A2%91
                          但问题来了,点击第二页正常跳到的是搜索的关键词第二页。但是地址正确。地址:http://www.lrshare.com/page/2?s=%E8%A7%86%E9%A2%91
                          但现在点击搜索的关键词第二页显示的却是全部文章的第二页,弄了两天无法解决。已知是伪静态连接的问题。本站是虚拟主机
                          用的.htaccess修改的伪静态。固定连接为:/%post_id%.html ,.htaccess内容如下:
                          RewriteEngine On
                          RewriteBase /
                          RewriteCond %{REQUEST_FILENAME} !-f
                          RewriteCond %{REQUEST_FILENAME} !-d
                          RewriteRule . /index.php [L]
                          求帮助啊,弄了好几天也不行。

                        • 来自外部的引用: 3

                          • wordpress技巧-利用.htaccess拒绝spam机器人评论 | SDT技术网
                          • wordpress技巧-利用.htaccess拒绝spam机器人评论 | 一来网
                          • 修改wp-comments-post 防垃圾(spam)评论 | 知更鸟