Windows-Server-2003

IIS 可以阻止特定使用者代理請求網頁嗎?

  • July 18, 2012

我們在帶有 ASP.NET Web 應用程序的 Windows Server 2003 上安裝了 IIS 6.0。我們的 Web 應用程序,或者特別是一個網頁正遭受某種機器人攻擊。查看 IIS 日誌,我們檢測到正在攻擊的使用者代理:

python-requests/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”請求的訪問?

沒有內置功能可以滿足您的需求。

Ionics Isapi Rewrite Filter (IIRF) ISAPI 過濾器模組是一種可以滿足您需求的免費解決方案。他們甚至有基於 User-Agent 阻止訪問的範例配置。

第二個選項是 Microsoft URLScan(正如您在評論中指出的那樣——我不記得它是否允許基於使用者代理的邏輯)。此部落格條目描述了使用 URLScan 來阻止基於使用者代理的請求。我不相信 URLScan 可以根據正則表達式進行匹配,但是由於您正在尋找精確的字元串匹配,它也應該做您想做的事情。

儘管如此,“bot”作者很容易將他們的 User-Agent 字元串更改為“無害”的字元串。你正在軍備競賽中邁出第一步。

引用自:https://serverfault.com/questions/408913