【问题标题】:IIS 7.5 url rewriting help - weird querystringIIS 7.5 url 重写帮助 - 奇怪的查询字符串
【发布时间】:2011-10-26 19:00:36
【问题描述】:

我有一个包含大量垃圾的入站链接。我的网站只是加载主页并忽略查询字符串,但我想检测查询字符串并重定向到干净的主页 url。

网址如下所示:

http://www.mysite.url/?c%253E'dmjdlgsbve%253E2'lfzxpset%253E'sbol%253E2'f%253E'vsm%253Eiuuq%253B00xxx%252Fopdmjdlz%252Fdpn0'gffe%253Eopqbz'qsjdf%253E'tbq%253Ebd7g8g73cc3c7d%253Af5925f3efd2f62dcd'zbsht%253Exxx %252Fopdmjdlz%252Fdpn

我似乎无法制定一个规则来捕获这个查询字符串并让我重定向到http://www.mysite.url。有什么想法吗?

【问题讨论】:

    标签: iis url-rewriting iis-7.5


    【解决方案1】:

    这很容易做到。首先,您必须确保您在主页上(即空请求 URL),然后检查条件中的非空查询字符串。如果两者都是这种情况,您将永久重定向回相同的 URL(= 没有查询字符串的 URI)。

    喜欢:

    <rule name="Remove query string" stopProcessing="true">
        <match url="^$" />
        <conditions>
            <add input="{QUERY_STRING}" pattern="^$" negate="true" />
        </conditions>
        <action type="Redirect" url="{URL}" appendQueryString="false" />
    </rule>
    

    如果你愿意,你可以添加一个更具体的条件,让它只匹配这个特定的入站链接。

    更新: 我怀疑您的 URL 中有一些双重 URL 编码。例如,%253E 可能被替换为 %3E,因为 %25 是 URL 编码的百分比符号。 %3E 是 > 字符 URL 编码。所以我认为你会有更多的运气:

    <rule name="Remove query string" stopProcessing="true">
        <match url="^$" />
        <conditions>
            <add input="{QUERY_STRING}" pattern="^c%3E'dmjdlgsbve%3E2'lfzxpset%3E'sbol%3E2'f%3E'vsm%3Eiuuq;00xxx/opdmjdlz/dpn0'gffe%3Eopqbz'qsjdf%3E'tbq%3Ebd7g8g73cc3c7d:f5925f3efd2f62dcd'zbsht%3Exxx/opdmjdlz/dpn$" />
        </conditions>
        <action type="Redirect" url="{URL}" appendQueryString="false" />
    </rule>
    

    【讨论】:

    • 我只想检测这个特定的查询字符串,但似乎其中的一些字符正在过滤过滤器......比如百分号和其他一些字符。我想保留其他查询字符串不变。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    相关资源
    最近更新 更多