【问题标题】:blocking semalt referrers with htaccess rules使用 htaccess 规则阻止 semalt 引荐来源网址
【发布时间】:2014-10-18 02:20:52
【问题描述】:

我已经在 htaccess 中实现了以下代码,但仍然看到来自 semalt 的引荐来源网址,例如:

74.semalt.com
89.semalt.com

代码:

# Block visits from semalt.com
RewriteEngine on 
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*semalt\.com [NC]
RewriteRule .* - [F]

知道这些推荐人是如何绕过这条规则(我在网上找到的)以及如何完全阻止它们吗?

【问题讨论】:

  • 不确定但试试这个RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://.*semalt\.com [NC] RewriteRule (.*) http://www.semalt.com [R=301,L]
  • 你试过RewriteCond %{HTTP_REFERER} \.?semalt\.com$ [NC] 吗?这将匹配每个semalt 子域,即使您的代码应该可以正常工作(也许http:// 不在referer 中?这很奇怪,但这是我认为它不符合您的条件的唯一原因)
  • 只需访问 semalt.com 并请求排除您的网站

标签: .htaccess mod-rewrite http-referer referrer-spam


【解决方案1】:

好的,这就是我的工作方式:

# Block visits from semalt.com
RewriteEngine on 
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*semalt\.com [NC]
RewriteRule (.*) http://www.semalt.com [R=301,L]

【讨论】:

    【解决方案2】:

    我从网络上尝试了所有这些示例 sn-ps。它们都不起作用,Semalt 不断改变它们的域和路径。
    我建议这对我很有用并且语法健全。它将适用于任何包含 semalt.com 字符串的引荐来源网址路径。 请注意,您需要 Apache 2.4 才能工作。它可以进入您的 .htaccess 没有问题,或者理论上在您的主要 Apache 配置中。

    <If "%{HTTP_REFERER} =~ /semalt.com/">
            Deny from all
    </If>
    

    祝你好运!
    更新:如果这导致 500 错误,您需要在主 Apache 配置中启用 .htaccess,在此示例中,我的 .htaccess 位于 /var/www/wordpress 的 Web 服务器根目录中,因此我的 .htaccess 位于我的 .htaccess 中。配置:

    <Directory /var/www/wordpress>
        Options +FollowSymLinks
        AllowOverride all
        Require all granted
    </Directory>
    

    【讨论】:

    • 谢谢 B 先生...我发布的解决方案似乎到目前为止有效。但我会记住这一点,以防它不会在路上。
    【解决方案3】:

    这是阻止不断增长的僵尸网络主机列表的另一种方法:

    # Block Common Botnets
    SetEnvIfNoCase Referer fbdownloader.com spambot=yes
    SetEnvIfNoCase Referer descargar-musicas-gratis.com spambot=yes
    SetEnvIfNoCase Referer baixar-musicas-gratis.com spambot=yes
    SetEnvIfNoCase Referer savetubevideo.com spambot=yes
    SetEnvIfNoCase Referer srecorder.com spambot=yes
    SetEnvIfNoCase Referer kambasoft.com spambot=yes
    SetEnvIfNoCase Referer semalt.com spambot=yes
    SetEnvIfNoCase Referer ilovevitaly.com spambot=yes
    SetEnvIfNoCase Referer 7makemoneyonline.com spambot=yes
    SetEnvIfNoCase Referer buttons-for-website.com spambot=yes
    SetEnvIfNoCase Referer econom.co spambot=yes
    SetEnvIfNoCase Referer acunetix-referrer.com spambot=yes
    SetEnvIfNoCase Referer yougetsignal.com spambot=yes
    SetEnvIfNoCase Referer darodar.com spambot=yes
    
    Order allow,deny
    Allow from all
    Deny from env=spambot
    

    【讨论】:

      【解决方案4】:

      您的代码看起来不错,语法检查正常!我使用了这些 mod_rewrite 方法:

      RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?semalt\.com.*$ [NC]
      RewriteCond %{HTTP_REFERER} ^http(s)?://(.*\.)?semalt\.*$ [NC,OR]
      RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC,OR]
      

      或使用 .htaccess 模块 mod_setenvif

      SetEnvIfNoCase Referer semalt.com spambot=yes
      SetEnvIfNoCase REMOTE_ADDR "217\.23\.11\.15" spambot=yes
      SetEnvIfNoCase REMOTE_ADDR "217\.23\.7\.144" spambot=yes
      
      Order allow,deny
      Allow from all
      Deny from env=spambot
      

      我什至创建了一个 Apache、Nginx 和 Varnish 黑名单以及 Google Analytics 段来防止引荐来源垃圾邮件流量,你可以在这里找到它:

      https://github.com/Stevie-Ray/referrer-spam-blocker/

      【讨论】:

        【解决方案5】:

        这是许多使用正则表达式的垃圾邮件推荐网站的更新代码

        <IfModule mod_rewrite.c>
            RewriteEngine On
            Options +FollowSymLinks
            RewriteCond %{HTTP_REFERER} (?:o-o-6-o-o|bestwebsitesawards|s.click.aliexpress|simple-share-buttons|see-your-website-here|forum.topic55198628.darodar|hulfingtonpost|ilovevitaly|priceg|blackhatworth|semalt.semalt|kambasoft|buttons-for-website|BlackHatWorth|7makemoneyonline)\.com [NC,OR]
            RewriteCond %{HTTP_REFERER} (?:lomb|lombia|econom|lumb)\.co [NC,OR]
            RewriteCond %{HTTP_REFERER} (?:cenoval|Iskalko)\.ru [NC,OR]
            RewriteCond %{HTTP_REFERER} (?:smailik|humanorightswatch)\.org [NC,OR]
            RewriteCond %{HTTP_REFERER} (?:ranksonic|savetubevideo)\.info [NC]
            RewriteRule ^ – [F]
        </IfModule>
        

        希望有人觉得这个有用

        【讨论】:

          猜你喜欢
          • 2016-03-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-30
          • 2011-07-15
          • 2015-05-16
          • 1970-01-01
          相关资源
          最近更新 更多