【发布时间】:2015-09-27 05:45:14
【问题描述】:
我最近查看了 Url.IsLocalUrl() 方法的实现,该方法被广泛使用并被推荐为用于防止重定向攻击的措施之一。如果我要为我的应用程序中的控制器的一个操作提供完整的 url,我很惊讶地看到这个方法返回 false。
例如,如果我的应用程序托管在http://localhost:422,并且如果我要指定一个有效的控制器和操作名称,例如http://localhost:422/home/index,我将得到错误。在查看了它的实现之后,我明白了为什么。但是一开始的实现不是不正确吗?
我应该实现自己的 IsLocalUrl() 吗?还是我应该继续使用当前的?
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4