【发布时间】:2017-11-19 10:50:04
【问题描述】:
我读到有人 asp.net mvc 代码为:
[HttpGet]
public ActionResult Move(string url)
{
return Redirect(HttpUtility.UrlEnocode(url));
}
我担心上面的代码会导致 Open Redirect 安全问题,因为“url”来自用户的输入,永远不会被过滤/保护....
所以网址可能是一些“www.hackersite.com”,这很危险......
但是有人告诉我,asp.net mvc 框架可以通过 asp.net mvc 框架解决这个问题。我不知道该怎么做......?
【问题讨论】:
-
编码无济于事。您想阻止用户重定向到另一个网站吗?
-
@StephenMuecke 我想阻止用户重定向到外部站点
-
MVC(版本 3+)已经内置了这个。你可以使用 UrlHelper.IsLocalUrl() 来检查它是否是一个本地 url
标签: c# asp.net asp.net-mvc security asp.net-mvc-4