我在PHP中的部分继承了Web应用程序,并与周围的小提琴手戳后,我比以前多一点的数据。我试图解决的问题是在IE6 / 8,但不是FF /铬不需要注销。如果用户点击不同的页面之间,登录数据的Cookie消失。

该行为是在FF与IE不同,并且所报告的信息是在提琴手之间(/ IE)直播HTTP标头(/ FF)几乎完全一样的方式和不同的。

在Firefox浏览器的cookies出现像PHP被处理规定:在创建时在用户登录并检查“记住我”,如果用户访问登出页面,他们只是删除了,他们有两个星期截止日期。活HTTP头报告没有什么不同:饼干永远不会报告被更改或当用户点击页面之间删除

但是,随着IE,它们消失当用户点击不同的页面之间,和提琴手报道,

Cookies / Login
    Set-Cookie: *******=deleted; expires=Sun, 29-Jun-2008 21:07:46 GMT; path=; domain=.********.com
    Set-Cookie: *******=deleted; expires=Sun, 29-Jun-2008 21:07:46 GMT; path=; domain=.********.com

(“删除”是从字面上提琴手的输出引用。我没有在我的代码,其中任一值设置为“已删除”一个神奇的字符串的任何地方。)

不仅IE和Firefox有网站是如何说,但菲德勒和HTTP实时报告头对应不同版本的网站没有什么不同的解释。

有没有什么特别的IE和“删除”?这可能听起来很奇怪,但确实IE要重新启用cookies来在每个页面视图或类似的东西?

我怎样才能安抚IE祝福问题如不通过,除非用户通过访问注销URL请求它的服务器上删除了饼干?

有帮助吗?

解决方案

我终于找到了如下功能:Firefox和IE浏览器中表现不同,因为他们是不同的治疗缓存时丢失的文件是在14天之内过期:已被设置头

火狐显然检查一次丢失的数据,然后再次不请求它。

IE,在另一方面,保持在检查的项目的样式给了错误的道路,有404页,以及自定义404页做了一个样板邀请登录触发被注销的用户(也许不是最好的样板)。我猜是样式表缓存,但IE不停地询问中缺少的项目。

于是有人缓存的差异加上间接纳入加上404页的行为。

我还是不知道什么是“被删除”是从哪里来的。 (不提供PHP的单词“删除”,如果你设置一个cookie字符串为空值?)

其他提示

IE浏览器将无法设置cookie,如果主机中有下划线,但在这里,这不是问题。

的Fiddler不“发明” anything--如果它说,它有一个HTTP报头中设置的cookie“已删除”的值,这意味着该服务器字面上发送的。

您可能想看看你是否没有任何错误请求走出去对那些使服务器删除cookies线。举例来说,在另一个线程中,有人指出,以“”(空字符串)源的IMG标签会导致IE发送对站点的根目录的请求,和他们的网页中删除登录的Cookie,如果访问。

IE6 / 7/8目前每个主机50种饼干的限制,但是这不是你要么打在这里。

scroll top