在ASP.NET中打开重定向安全问题



在这里我写了以下代码

 var id = Request.QueryString["id"].Trim();
 if (!string.IsNullOrEmpty(id))
 {
  Response.Redirect("display.aspx?id=" + HttpUtility.HtmlEncode(id), true);
 }
 else if (CheckCredentials())
 {
  Response.Redirect("display.aspx", true);
 }

在上面的代码ID中是"字符串"。Fortify工具正在上述突出显示的线路中显示开放的重定向问题。有人帮助我解决这个问题吗?

我看不到任何"突出显示的行",所以您指的是哪一行?

另外,为什么要编码将最终输入URL的字符串的HTML?URL编码和HTML编码是两个完全不同的事物,并且在许多方面都不兼容。

ID值刚刚从URL出来,因此您可以在重定向中简单地使用它。

var id = Request.QueryString["id"].Trim();
if (!string.IsNullOrEmpty(id))
{
    Response.Redirect("display.aspx?id=" + id, true);
}
else if (CheckCredentials())
{
    Response.Redirect("display.aspx", true);
}

欢呼

最新更新