一些用户在我的网站(PHP)中丢失了会话信息。我该如何防止这种情况?

时间:2010-09-02 10:11:11

标签: php session cookies login

在我的网站上,有些用户抱怨登录时出现问题。

他们的浏览器通常不会看到会话信息,也无法理解用户是否已登录,并且表现得像从未登录过。但经过一些刷新后,浏览器会看到会话信息并将用户显示为正常登录。同样,如果用户尝试执行某些操作(如编写消息),浏览器将再次松开会话信息并重定向到登录页面。情况继续如此。

浏览器安全选项,用户计算机的cookie选项与我的完全相同。

我从未遇到过这样的问题,但他们确实如此。

我如何解决问题,实际上我怎样才能看到,理解问题?

感谢。

3 个答案:

答案 0 :(得分:1)

由于您似乎无法重现问题,并且可能无法选择访问其计算机,因此您可能会运行Fiddler(即),Firebug(firefox)等,然后发送日志。

正如gavtaylor所说,我对负载均衡器,代理或其他方面持怀疑态度。

答案 1 :(得分:1)

通常的食谱是:

  • 尝试重现问题
  • 如果失败则添加更多日志记录
  • 如果仍然不清楚,则调试代码

假设第一个失败了,那么您可能想要logging session cookie的价值开始{{3}}

从表面上看,这听起来像是一个缓存问题。

答案 2 :(得分:-1)

您的服务器负载是否均衡? 我最近遇到了这个问题,我们其中一个旧网站的用户暂时“丢失”了他们的登录状态。

我们发现负载均衡器没有正确实现粘性会话,因此人们在服务器之间跳转,并且因为该站点使用的是服务器会话而不是数据库会话,所以人们有效地在一台服务器上注销但在另一台服务器上登录。 ..