在网站上进行安全扫描后,这两个字符< a 会导致500
http://domain.com/default.aspx的<一个
在Application_Error中处理错误以重定向到error.aspx页面。
Application_Error()
{
Response.Redirect("/error.aspx?asperrorpath=" + Context.Request.RawUrl);
}
但RawUrl并不仅仅是param asperrorpath的值,Redirect会导致另外500个,并且会发生无限重定向循环。
我避免重定向循环的唯一解决方案是对RawUrl进行编码,但我们希望看到用户请求的真实URL,编码可能会导致一些信息丢失。有其他解决方案吗?
由于
答案 0 :(得分:0)
不确定这是否符合您的目的。也许你可以替换它们
Application_Error()
{
Response.Redirect("/error.aspx?asperrorpath=" + String.Replace(Context.Request.RawUrl,"<a","^^$$^^");
}
因此,如果您看到该模式,您可以认为它是&#34;&lt; a&#34; ...选择你的组合,否则不会发生。
答案 1 :(得分:0)
HttpUtility.UrlEncode(Context.Request.RawUrl);