是否可以直接从web.config禁止某些用户代理?某些机器人似乎不遵循robots.txt,并且为了避免无意义的服务器负载(以及日志文件垃圾邮件),我想阻止某些类别的请求(特别是基于用户代理或非常可能是IP地址)继续进行.
如果您知道是否可以防止此类请求完全记录到IIS的日志文件中,则可以获得奖励积分.(即if-request-match,转发到/ dev/null,如果你明白我的意思).
win2003的解决方案更可取,但这是一个反复出现的问题 - 如果IIS7有一个干净的解决方案而不是IIS6,我很乐意知道它.
编辑: 抱歉'回合之前的不完整问题,我有标签+意外输入.
Alb*_*ker 12
使用IIS7中的URLRewrite模块可以非常轻松地完成此操作.但我真的不知道这是否会阻止这些请求被记录.
<rewrite>
<rules>
<rule name="Ban user-agent RogueBot" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="RogueBotName" />
<add input="{MyPrivatePages:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="AbortRequest" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="MyPrivatePages">
<add key="/PrivatePage1.aspx" value="block" />
<add key="/PrivatePage2.aspx" value="block" />
<add key="/PrivatePage3.aspx" value="block" />
</rewriteMap>
</rewriteMaps>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5123 次 |
最近记录: |