HttpUtility.UrlEncode() 可以防止开放重定向攻击吗?

Could HttpUtility.UrlEncode() prevent Open Redirect attack?

我正在检查 ASP.net MVC 项目的安全问题。

我发现了一些类似下面的代码,我想知道 UrlEncode() 是否阻止了打开重定向问题?

public ActionResult Redirect(string url)
{
   return Redirect(HttpUtility.UrlEncode(url));
}

不,当然不是!

打开重定向 基本上允许攻击者将受害者重定向到 unsafe/malicious 页面,因为缺少 URL 身份验证。

对 Url 进行编码根本没用。

为了能够阻止它,你可以在这个线程上看到我的回答: