【问题标题】:.net mvc redirect to calling page without parameter.net mvc 重定向到没有参数的调用页面
【发布时间】:2023-04-07 03:26:02
【问题描述】:

我看到了一些关于例如redirecting to the calling page的问题

但一般建议是将重定向 url 作为参数传入或检查引荐来源网址。
1. 这些真的是仅有的 2 个解决方案吗? 2. 跟踪访问的最新页面怎么样。这可行和/或可能吗? 3. 还有其他选择吗?

忘记添加我需要远离javascript

【问题讨论】:

    标签: .net model-view-controller redirect


    【解决方案1】:

    有时推荐人是不可能的。想象一个登录表单进行了一些验证,你输入了错误的密码,它返回一个红色的错误消息,然后推荐人是错误的。当然,在这种情况下,查询字符串解决方案会起作用。

    但你也可以

    • 使用隐藏的表单域
    • 将最后一页存储在服务器上的会话对象中
    • 将返回 url 序列化为 JSON 并使用 Javascript 进行重定向

    (我并不是说这些选项是好是坏,它们是我现在能想到的全部)

    【讨论】:

      【解决方案2】:

      只需使用 URL Referer [sic] 标头即可。

      var requestFrom = Request.UrlReferrer
      

      您可以在以下位置找到文档:http://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer.aspx

      唯一不可行的情况是直接请求页面时,但在这种情况下,无论如何您都没有任何地方可以重定向到。

      另一种选择是使用 AJAX 异步执行请求,以便您的 Delete 操作仅执行其描述的操作,而不负责执行超出预期删除目的的操作。

      【讨论】:

      • 我希望远离 urlreferrer,因为它不安全并且需要清理 :-(
      • 实际上 UrlReferrer 是以 System.Uri 的形式出现的,因此它已经具有某种内置保护,就被转义和不转义而言。但基本上他们将被重定向回他们来的页面。另外,如果您从 POST 请求中获取输入,我不知道您会如何找到更安全的东西。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多