2011-04-04 73 views
8

使用我有这样的URL获取完整的URL与哈希作为RETURNURL

localhost/Login/LogOn?ReturnUrl=/#&q=my%20search%20word&f=1//447044365|2//4 

我需要得到哈希参数,在认证后的应用程序导航。

我试图抓住它像这样

<input name="returnUrl" value="<%= ViewContext.HttpContext.Request.Url.PathAndQuery %>" type="hidden" /> 

但结果是

/Login/LogOn?ReturnUrl=/ 

我试图拿走 “/#” 在URL,然后我得到整个URL。但我需要使用这个URL。

为什么URL被切割?

回答

18

浏览器不会将散列片段发送到服务器。它仅用于客户端。如果你需要它,你将不得不通过客户端脚本访问它。

+0

谢谢!我刚刚添加了$(“#returnUrl”)。val(location.hash);将其放入输入中。 – podeig 2011-04-04 10:23:44

+3

通过这种客户端URL处理,请注意注入/劫持攻击。确保此值的使用者不信任并验证它。 – ProVega 2014-05-20 03:46:06