【问题标题】:How do I block Semalt on IIS如何在 IIS 上阻止 Semalt
【发布时间】:2014-04-08 01:14:19
【问题描述】:

检查我的 Google Analytics(分析)我从 semalt.com 获得了大量流量。 我知道这是一种流量垃圾邮件策略,所以我想完全阻止他们的请求并阻止它出现在我的流量统计中。

我在这里读到 http://logorrhoea.net/2014/01/how-to-block-semalt-com-referrer-traffic-using-htaccess/ 在 Apache 上可以这样做:

# block visitors referred from semalt.com
RewriteEngine on
RewriteCond %{HTTP_REFERER} semalt\.com [NC]
RewriteRule .* - [F]

但我在 IIS 中需要它,可能是通过 web.config,但是怎么做呢?

【问题讨论】:

  • 最近,我还看到“semalt.semalt.com”作为引荐来源。

标签: iis web-config spam spam-prevention


【解决方案1】:

好的,在这里找到了一些东西:http://tusksoft.com/blog/posts/6/clean-up-your-google-analytics-and-help-stop-referer-spam-with-this-simple-rewrite-rule:

这似乎有效:

<rewrite>
  <rules>
    <rule name="abort referer spam requests" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_REFERER}" pattern="(semalt\.com)|(buttons\-for\-website\.com)" />
      </conditions>
      <action type="AbortRequest" />
    </rule>
    <!--The rest of your rules, if you have any-->
  </rules>
</rewrite>

【讨论】:

  • 谢谢@Flo 我所有网站上最讨厌的是 social-buttons.com 所以将它们添加到 system.webServer
  • 补充我的答案:并非所有推荐垃圾邮件都会设置推荐人主机名,因此这些仍会在您的 Google Analytics(分析)日志中弹出。在这里找到这篇很棒的帖子:analyticsedge.com/2014/12/… 摘要:它的作用是检查访问者是否设置了有效的主机名(例如:您的网站主机名或已知主机名)。如果没有,您可以将其从报告中过滤掉。因此,它不会排除所有垃圾邮件站点(并且必须维护该列表),而是仅包含有效访问。检查 Audience > Technology > Network > hostname 以查看您网站请求的主机名。
【解决方案2】:

试试这个,它应该可以工作:

       <rewrite>
            <rules>
                <rule name="RequestBlockingRule1" patternSyntax="Wildcard" stopProcessing="true">
                    <match url="*" />
                    <conditions>
                        <add input="{HTTP_REFERER}" matchType="Pattern" pattern="*.semalt.com*" 

ignoreCase="true" negate="false" />
                    </conditions>
                    <action type="AbortRequest" />
                </rule>
            </rules>
        </rewrite>

我已经对此进行了测试和验证,但对于 *.semalt.com 以外的引荐来源网址。与您的代码不同,此代码中的键是引荐来源网址模式末尾的通配符,因为引荐来源网址以“/”结尾。您也可以用“/”替换末尾的通配符,但我认为通配符应该更好。

【讨论】:

    【解决方案3】:

    下面是一个示例 web.config,其中包含与您提供的等效的 URL 重写配置。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.webServer>
        <rewrite>
          <rules>
            <rule name="block semalt referer" patternSyntax="Wildcard" stopProcessing="true">
              <match url="*" />
              <conditions>
                <add input="{HTTP_REFERER}" pattern="*.semalt.com" />
              </conditions>
              <action type="AbortRequest" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    </configuration>
    

    【讨论】:

    • 我之前用完全相同的规则回答了我自己的帖子,但我仍然在我的 Google Analytics(分析)流量统计数据中表现出色......所以由于某种原因,这个规则不起作用。
    • 我对@9​​87654322@ 有其他规则,因此请确保这是您的&lt;rules&gt; 中的第一个条目。
    猜你喜欢
    • 2014-10-18
    • 1970-01-01
    • 2017-12-05
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 2018-05-22
    相关资源
    最近更新 更多