Url.IsLocalUrl

问题:

Url.IsLocalUrl(returnUrl) 一直为false

解决方法:

url.islocalurl可以防止跳转攻击

页面之间传值,post过来一个参数,例如http://localhost:3221/Account/LogOn?returnUrl=/HealthDisplay/HistoryTrace

记住 这种判断 是针对于mvc route 例如这种方式/HealthDisplay/HistoryTrace  若为http://baidu.com这无法判断

故有这种判断方式 if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                        && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))更为复杂。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。