【问题标题】:Added random parameter for XSHM fix. Is there a limit to the length of a URL on IIS/ASP.NET?为 XSHM 修复添加了随机参数。 IIS/ASP.NET 上的 URL 长度是否有限制?
【发布时间】:2021-09-24 17:11:40
【问题描述】:

在我的组织中,我们通过在重定向的 URL 末尾附加一个随机 GUID 来实施修复跨站点历史操作的建议。

例如:

Response.Redirect($"{path}&paramX={Guid.NewGuid():N}");

因此,如果用户访问了页面https://www.example.com/default.aspx,则重定向行为如下:

Response.Redirect("https://www.example.com/default.aspx?&paramX=d11712a771294de8a6fc0c66e92954fc");

如果重定向发生在用户已经被重定向一次或多次时,问题或问题就会发挥作用。在这种情况下,每次都会附加重复的参数,如下所示:

Response.Redirect("https://www.example.com/default.aspx?&paramX=d11712a771294de8a6fc0c66e92954fc&paramX=ff4bc6a838684b198060c70091b300e2");

如果发生过多的重定向,URL 长度是否有限制?

如果是这样,我的解决方案是每次都使用 RegEx 来检测参数是否存在,并使用 RegEx Replace() 替换它,而不是每次都追加。

【问题讨论】:

    标签: asp.net iis xss secure-coding


    【解决方案1】:

    是的,它存在 url 长度的限制。这取决于用户使用的浏览器。这里我列出了一些浏览器的限制供您参考:

    IE: no more than 2048 byte
    Chrome: no more than 8182 byte
    FireFox: no more than 65536 byte
    Safari: no more than 80000 byte
    

    所以我认为超过url的限制长度并不容易,但我建议你做一些改进,不要在url中附加越来越多的相同参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      相关资源
      最近更新 更多