获取带有哈希的完整URL以用作ReturnUrl

pod*_*eig 8 c# asp.net url returnurl

我有这样的URL

localhost/Login/LogOn?ReturnUrl=/#&q=my%20search%20word&f=1//447044365|2//4
Run Code Online (Sandbox Code Playgroud)

我需要获取哈希参数以在身份验证后在应用程序中导航.

我试着像这样抓住它

<input name="returnUrl" value="<%= ViewContext.HttpContext.Request.Url.PathAndQuery %>" type="hidden" />
Run Code Online (Sandbox Code Playgroud)

但结果是

/Login/LogOn?ReturnUrl=/
Run Code Online (Sandbox Code Playgroud)

我试图在URL中删除"/#",然后我获得整个URL.但我需要按原样使用此URL.

为什么URL被剪切?

Tal*_*joe 19

浏览器不会将哈希片段发送到服务器.它仅在客户端使用.如果需要,您必须通过客户端脚本访问它.

  • 使用这样的客户端URL处理,请注意注入/劫持攻击.确保此值的使用者不信任并验证它. (4认同)