Asp.net mvc 3 ASP.NET MVC动态外部URL

Asp.net mvc 3 ASP.NET MVC动态外部URL,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我有一个网站,用户可以提供他们选择的URL 我确信这是一个安全漏洞,那么我应该怎么做才能在不失去太多灵活性的情况下收紧它呢 如果我离开它,我如何呈现一个链接或构建一个路由,这样我就可以在外部链接用户? 这不起作用(当然): 在@item.URL之前附加协议,如下所示: Web浏览器也允许用户提供自己选择的URL:)同意:)但是,业务需要为访问此页面的人员提供有用的链接。确保用户提供的URL不会干扰网站的最佳位置是验证输入时。这样,在不删除URL的协议部分的情况下,就可以禁止像javascri

我有一个网站,用户可以提供他们选择的URL

我确信这是一个安全漏洞,那么我应该怎么做才能在不失去太多灵活性的情况下收紧它呢

如果我离开它,我如何呈现一个链接或构建一个路由,这样我就可以在外部链接用户? 这不起作用(当然):


@item.URL之前附加协议,如下所示:



Web浏览器也允许用户提供自己选择的URL:)同意:)但是,业务需要为访问此页面的人员提供有用的链接。确保用户提供的URL不会干扰网站的最佳位置是验证输入时。这样,在不删除URL的协议部分的情况下,就可以禁止像
javascript:alert(“Wat!”)
这样的URI。例如,用户应该可以在提供
http://
https://
URL之间自由选择。
<a href="@item.Location" target="_self">@item.Title</a>
<a href="http://@item.URL" target="_blank">@Html.DisplayFor(modelItem => item.Title)</a>