【问题标题】:Hide 302 responses from back button (IE and FF)隐藏后退按钮的 302 响应(IE 和 FF)
【发布时间】:2011-10-20 00:40:48
【问题描述】:

我在一个网站上工作以管理我的公司用户。基本上它允许登录、注册、更改数据等。我做这个网站是因为我们希望统一每个产品的客户。如果我已经注册了某个产品,那么我可以登录到其他产品。

从某个产品站点到用户站点(或从用户站点到产品站点)的所有重定向都是通过 POST 进行的,因为如果有用户登录,则票证太长而无法使用 GET。这会导致用户站点的 URL 出现 302 结果,该用户站点的 URL 用于从其他系统(带有所有需要的参数)访问,并且在用户站点的正确页面出现 200 之后。

假设我尝试进入某个需要身份验证的页面,我会得到以下结果:

所以在 Chrome 或 Safari 中,当我从登录页面点击返回按钮时,我将被重定向到 somePageWhichNeedsAuthentication。但是从 IE 或 Firefox 会重定向到 Access 页面或 somePageWhichNeedsAuthenticatedUser,我真的不知道,但是这些页面中的任何一个都会重定向回登录页面,所以除非我快速点击两次按钮,否则它不会起作用。

我该如何解决这个问题?

更新

做一些其他测试我发现了另一种情况:我尝试登录(不是访问需要身份验证的某些页面)所以结果如下:

Chrome 和 Safari 再次完美。 Firefox 正在重定向到http://www.myDomain.com/Login。最后,一旦您单击“登录”链接,IE 就会失败,因为它不允许状态 302 的内容响应。所以我必须用 200 强制 http://www.myDomain.com/Login 的响应。这让 Firefox 做同样的事情(IE 也一样)。

更新 2

这里有一个firefox的日志。由于打开了其他一些选项卡,因此在示例一之前有一些请求。我已经完成了第二个示例。产品域为http://localhost/MktWeb,用户域为http://usuarios2.nosis.com.arhttp://www.yourfilelink.com/get.php?fid=719269

【问题讨论】:

    标签: internet-explorer firefox cross-browser back-button back-button-control


    【解决方案1】:

    Firefox 不允许通过历史记录返回 3xx 响应。因此,如果您看到这种情况发生,那么无论您的网站实际在做什么,都与您上面的描述不符。

    【讨论】:

    • 你是对的,它正在重定向到 401。我刚刚更正了我的问题。
    • 我刚刚更新了我的问题。它实际上确实可以回到 3xx(我认为只有当它们有内容时)。
    • 根据您更新的描述,我不知道您实际发送了哪些回复以及在哪里发送...按照developer.mozilla.org/en/HTTP_Logging 的指示记录日志并链接到它?
    • 我刚刚上传了文件并将链接添加到我的问题中并做了一些解释。非常感谢您的帮助!
    • @Diego 好的,所以在该日志中我看到了 POST 请求并且服务器以 302 响应“/es/Login”,对吗?这使得浏览器加载usuarios2.nosis.com.ar/es/Login,正如预期的那样......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 2014-11-17
    • 2012-04-21
    • 1970-01-01
    • 2015-12-01
    • 2020-06-06
    相关资源
    最近更新 更多