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

知更鸟 2013年9月21日13:08:54151.8K1

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

之前写过《Hotnews Pro主题防spam小技巧》,对于使用已集成ajax评论功能的主题,可以直接删除wp-comments-post.php来屏蔽防spam机器人,同时不会影响到正常的读者留言。文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

不过问题又来了,对于像我一样启用了移动版主题,而移动版主题并未集成ajax评论功能,造成在移动设备上无法留言。文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

本文的方法虽然是N年前的,却能很好地解决这一问题(经测试并不能完全屏蔽spam机器人)。文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

将下面代码添加到网站根目录的.htaccess文件中即可,不要忘记修改第4行域名为你的网址。文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

  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文件(不要告诉我你没有这个文件):文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

  1. # BEGIN WordPress  

下面。文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

上面的代码可以阻止大多数无referer来源的spam机器人,查询访问你网站的来源链接,阻止其通过wp-comments-post.php来进行垃圾评论文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

参考:http://www.wprecipes.com/how-to-deny-comment-posting-to-no-referrer-requests文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

 文章源自知更鸟-https://zmingcx.com/using-htaccess-reject-spam-robot-comment.html

文章源自知更鸟 | 崇尚专注 追求极致 分享交流WordPress经验与技巧,关注前端设计与网站制作,打造自己专属的WordPress主题,让你的博客与众不同!
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
WordPress 添加动态版权日期 WordPress

WordPress 添加动态版权日期

一般网站都会在页脚添加个类似Copyright ©2000-2021版权信息,如果嫌每年都改这个日期麻烦,可以通过下面的方法添加一个动态版权日期。 将下面代码添加到当前主题函数模板functions....
匿名

发表评论

匿名网友

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

确定

评论:15   其中:访客  12   博主  0   引用   3
    • 在路上
      在路上 4

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

      • 在路上
        在路上 4

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

        • 围挡
          围挡 4

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

          • 秋水逸冰
            秋水逸冰 2

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

            • 工业制冷
              工业制冷 2

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

              • 异次元sky
                异次元sky 2

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

                • martin
                  martin 3

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

                  • 金弓
                    金弓 1

                    学到东西了!

                    • 值得一试
                      值得一试 0

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

                      • 百赖小生
                        百赖小生 2

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

                        • Black Hawk
                          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]
                          求帮助啊,弄了好几天也不行。

                          • 超逗的二哈少爷
                            超逗的二哈少爷 2

                            怎么设置评论完后自动刷新啊