本地网络下的Kohana PHP会话问题

时间:2011-05-23 16:59:49

标签: php session proxy kohana authentication

我有一个kohana(php)网站,当代理服务器在本地网络上的计算机上使用时,我们遇到了会话问题。

问题: PC 1和PC 2位于同一本地网络中。他们使用代理服务器访问外部网站。 PC 1使用“用户A”访问该站点,他现在位于主页面,并且该站点显示“已与用户A连接”。 PC 2进入站点并通过“用户B”访问,他现在位于主页面,站点显示“已与用户B连接”。 PC 1按F5重新加载站点主页,现在该站点显示用“USER B”记录。

系统安装在外部,我们只在此代理内网络中遇到此问题。来自本地网络(但没有代理)的其他PC的访问也没有这个问题。

我们在auth模块中启用了“user_token”部分(它使用了一个名为“user_tokens”的新表,该表使用了浏览器用户代理),但问题仍然存在。

- 编辑 - 我们正在使用Kohana 3.0,PHP 5.2.9和postgres 8.4

2 个答案:

答案 0 :(得分:1)

您的代理是否支持缓存?如果客户端已登录,它应 NOT 缓存不同的页面。

您的应用程序可能必须设置适当的HTTP标头,以告知代理不允许缓存HTTP响应。

如果这不能解决问题,请确保您没有使用客户端IP地址作为会话密钥。 (如果您仍然喜欢使用IP,请为允许的代理创建白名单,然后使用HTTP forwarded_for标头。它只会解决您信任的代理问题。)

答案 1 :(得分:0)

您可以暂时关闭代理以确认问题吗?

您可以尝试使用Firefox和Firebug扩展程序访问该网站吗?这将让您看到从站点发送的确切HTTP响应代码和标头。知道它们是什么将帮助我们为您诊断问题。