asp.net 中的开放重定向漏洞

Open Redirect vulnerability in asp.net

我已经编写了以下代码来重定向到我网站中的另一个页面

 if (!string.IsNullOrEmpty(Request.QueryString["id"]))
   Response.Redirect("node.aspx?id=" + Request.QueryString["id"], false);

此代码运行正常,但 按需强化 确实显示了上述代码中的开放重定向漏洞。
谁能帮我解决这个问题?

我不熟悉 按需强化打开重定向漏洞 基本上是将用户重定向到传入 QueryString 的 URL。通常,我们会在登录页面看到,但在您的代码中并非如此。

如果您知道 id 是一个整数值,您可以先解析它。

int id;
string str = Request.QueryString["id"];
if (!string.IsNullOrEmpty(str) && Int32.TryParse(str, out id))
    Response.Redirect("node.aspx?id=" + id, false);