从后退按钮(IE和FF)隐藏302响应

时间:2011-10-18 12:32:21

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

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

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

让我说我尝试进入一些需要身份验证的页面我会得到这样的结果:

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

如何解决此问题?

更新

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

Chrome和Safari再次非常完美。 Firefox正在重定向到http://www.myDomain.com/Login。最后,只要您单击“登录”链接,IE就会失败,因为它不允许状态302响应内容。因此,我必须强制http://www.myDomain.com/Login的响应为200.这使得Firefox保持同样的效果(对于IE也是如此)。

更新2

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

1 个答案:

答案 0 :(得分:2)

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