IIS偶尔重定向修改URL参数值

时间:2014-12-28 04:37:41

标签: asp.net iis-7.5

我们在以下环境中拥有一个带有Web服务器的多租户应用程序:

  • Windows 2008 R2 Datacenter
  • IIS 7.5
  • ASP.NET 4.5
  • 强制进入HTTPS的所有流量
  • 表单身份验证

我们在网站的Web.config文件中有一些方便的重定向。对于其中一个重定向, URL参数值偶尔会在301重定向后立即请求中(< 1%)。

该规则旨在将https://www.myapp.com/some_client_id/notifications等网址重定向到https://www.myapp.com/lms/profile/notifications.aspx?cid=some_client_id

这是它的定义:

<rule name="Redirect profile notifications page" stopProcessing="true">
    <match url="^([^/]+)/notifications/?$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Redirect" url="lms/profile/notifications.aspx?cid={R:1}" />
</rule>

查看WWW日志,我看到了以下内容:

2014-07-03 09:40:19 W3SVC2 a.b.c.d GET /some_client_id/notifications - 443 - w.x.y.z Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+WOW64;+Trident/5.0) - - www.myapp.com 301 0 0 581 297 156
2014-07-03 09:40:19 W3SVC2 a.b.c.d GET /lms/profile/notifications.aspx cid=mang_ledch_rs 443 - w.x.y.z Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+WOW64;+Trident/5.0) - - www.myapp.com 302 0 0 693 277 109
2014-07-03 09:40:19 W3SVC2 a.b.c.d GET /lms/login.aspx ReturnUrl=%2flms%2fprofile%2fnotifications.aspx%3fcid%3dmang_ledch_rs&cid=mang_ledch_rs 443 - w.x.y.z Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+WOW64;+Trident/5.0) - - www.myapp.com 200 0 0 7173 336 218

当客户端ID值被损坏时,它:

  • 发生在许多客户身上,但主要是在同一个客户
  • 对相同的字符进行修改(例如,&#39; j&#39;被破坏为&#39; w&#39;&#39; l&#39;被破坏为&#39; y&#39; ;)

我无法重现这个问题,但每天都会发生几次。使用Fiddler,在提出类似请求时,我看不到任何异常。

有关导致此问题的任何想法?如果没有,您对如何调试此建议有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:1)

我确信此问题是电子邮件链接检查软件的结果,该软件在链接参数值上使用ROT13加密以避免执行操作,例如取消订阅。