【发布时间】:2023-03-21 19:25:03
【问题描述】:
由于一些俄罗斯垃圾邮件发送者,我在 IIS 中创建了一个重写规则,但由于要搜索的两个部分之间存在空格,该规则似乎无法正常工作,我想知道如何克服这个问题
<rule name="Russian Referral Spam" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="Windows+2002|Windows+2003|Windows+2004|Windows+2005|Windows+2006|Windows+2007|Windows+2009" />
</conditions>
<action type="Redirect" url="https://stackoverflow.com" redirectType="Permanent" />
</rule>
在此之前,我从未在 Windows 和假版本之间添加空格:
Windows 2002|Windows 2004...
这将在用户代理中使用 Windows 并重定向他们。在不影响俄罗斯垃圾邮件发送者之前,即使使用反斜杠也将 + 添加到规则中。如何更改上述规则,使其搜索 'Windows 2002|Windows 2004|Windows 2005|Windows 2006... 如果它在 URL 中,我可以添加 %20
以下是俄罗斯垃圾邮件用户代理的一些真实示例:
Mozilla/7.0 (compatible; MSIE2.00; Windows 2005)
Mozilla/8.0 (compatible; MSIE3.00; Windows 2006)
Mozilla/6.0 (compatible; MSIE7.00; Windows 2008)
Mozilla/4.0 (compatible; MSIE4.00; Windows 2005)
我使用的不是 Apache,而是 IIS,所以请不要使用 mod-rewrite 规则。
提前致谢
更新:
在 Expert Exchange 上显示尝试 Windows\ 2006 或 Windows\s2006。会尝试这些,但我正在等待垃圾邮件发送者返回以获得 100% 的答案,但我知道在 IIS 中我可以测试规则,所以我也会尝试
【问题讨论】:
标签: iis url-rewriting