IIS可以阻止特定的用户代理请求一个网页?

我们有一个ASP.NET Web应用程序的Windows Server 2003上的IIS 6.0。 我们的networking应用程序,或者特别是一个网页遭受了一些僵尸攻击。 查看IIS日志,我们检测到正在攻击的用户代理:
python-请求/ 0.13.2

#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status 2012-07-17 23:59:59 W3SVC336290672 192.168.2.65 POST /MyVirtualDirectory/MyFolder/wf_Page_Under_Attack.aspx - 80 - 190.232.79.70 python-requests/0.13.2 200 0 0 

是否有可能在IIS上阻止或拒绝对“python-requests / 0.13.2”请求的访问?

没有内置的function来做你正在寻找的东西。

Ionics Isapi重写滤波器 (IIRF)ISAPI滤波器模块是一种无需任何费用的解决scheme。 他们甚至有基于User-Agent阻止访问的示例configuration。

第二个select是微软的URLScan (正如你在评论中指出的 – 我不记得是否允许基于User-Agent的逻辑)。 此博客条目描述了使用URLScan来阻止基于用户代理的请求。 我不相信URLScan可以基于正则expression式匹配,但是因为你正在寻找一个确切的string匹配,它应该做你想要的。

尽pipe如此,对于“bot”作者来说,将他们的User-Agentstring更改为“无害”是非常容易的。 你正在采取军备竞赛的第一步。