【发布时间】: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