我正在尝试使用请求过滤规则在 IIS 中阻止用户代理 X(字面意思就是“X”)。我们过去曾对其他更具体的用户代理执行过此操作,没有任何问题。但是,现在拒绝字符串只是 XI,难免会让人疑惑:拒绝字符串是正则表达式吗?它会使用 ^X$ 吗?
答案1
我刚刚用 localhost 和 fiddler/cURL 测试了这一点。
这些denyStrings
条目不被视为正则表达式,而是使用简单的字符串搜索。看起来,请求过滤无法仅阻止用户代理 X,而不阻止包含 X 或 x 的每个用户代理。
如果请求成功,您可以使用 URL 重写模块。我希望在 IIS 级别阻止请求,因为请求无效并在 ASP.NET 堆栈中引发异常。
(回答得很晚,但我自己也在寻找这个。)