最近IE会话cookie的任何变化?

时间:2009-06-29 18:13:56

标签: internet-explorer cookies session-cookies

我有一个使用相当常见的身份验证方案的PHP站点。

  • 整个登录区域需要ssl。
  • 用户输入用户名和密码,如果他们与数据库匹配,则启动会话并为其设置值。
  • 如果他们尝试访问需要身份验证的页面,它会检查会话中是否存在该值,如果不存在,则将其转发到登录页面。

我们总是会遇到一些登录有问题的人,因为他们没有设置使用会话cookie,或者他们在使用转发页面时遇到问题等等。

但是,最近我们有很多人无法登录IE。修复其会话cookie设置并清除缓存没有帮助,但如果他们在同一台计算机上使用firefox / opera,他们可以登录。我很确定它是IE的问题,而不是介于两者之间的任何问题。

是否有人知道IE 7最近会对会话Cookie产生任何影响?

更新

我最近在登录后立即实施了session_regenerate_id()调用,因为现在有些情况下用户可能会使用现有的会话,但那是很久以前的事了。

3 个答案:

答案 0 :(得分:3)

我的第一步是找到一个可以使用Firefox而不是IE登录的用户,然后针对两者运行Fiddler,以查看登录过程的HTTP请求/响应对的差异。这应该至少可以让你更好地了解在哪里看。

答案 1 :(得分:1)

如果IE的安全设置被启动(这在公司环境中尤为常见),或者您登录的页面位于框架或iframe中,那么可能是保存cookie的原因。如果是这种情况,您需要做的就是设置P3P策略HTTP标头。 Here's the best description that I could find on how to implement them.

答案 2 :(得分:0)

我没有听到任何消息。虽然,这正是我在所有公共项目中使用无cookie会话的原因。我相信ASP.Net内置了这个,但我更喜欢使用自己的实现。在页面之间传递查询字符串sessionid参数,并将其绑定到数据库记录或其他数据存储更加可靠。