这里我写了下面的代码
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是" string"。 Fortify工具在上面突出显示的行中显示了“打开重定向”问题。有人帮我解决这个问题吗?
答案 0 :(得分:0)
我看不到任何“突出显示的行”,你指的是哪一行?
另外,为什么html编码最终会在URL中的字符串? URL编码和HTML编码是两个完全不同的东西,在很多方面都不兼容。
ID值刚好来自网址,因此您可以直接在重定向中使用它而不会出现任何问题。
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);
}
干杯