我正在尝试阻止来自某个机器人的请求。我添加了一个请求过滤规则,但我知道它仍在访问网站,因为它显示在 Google Analytics 中。这是我添加的过滤规则:
<security>
<requestFiltering>
<filteringRules>
<filteringRule name="Block GomezAgent" scanUrl="false" scanQueryString="false">
<scanHeaders>
<add requestHeader="User-Agent" />
</scanHeaders>
<denyStrings>
<add string="GomezAgent+3.0" />
</denyStrings>
</filteringRule>
</filteringRules>
</requestFiltering>
</security>
Run Code Online (Sandbox Code Playgroud)
这是我试图阻止的用户代理的一个例子。
Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:13.0;+GomezAgent+3.0)+Gecko/20100101+Firefox/13.0.1
Run Code Online (Sandbox Code Playgroud)
在某些方面它似乎有效。如果我使用 Chrome 来欺骗我的用户代理,我会得到 404,正如预期的那样。但是机器人流量仍然出现在我的分析中。我错过了什么?
我通过 IIS 管理器 GUI 创建了一个新的 URL 重写规则。但是,当我浏览到站点配置 XML 文件时,即使我已经确认重写工作正常,我也看不到任何重写规则。我原以为重写 GUI 会在配置文件中生成相应的 XML。这不是它的工作原理吗?