我们有一个刚刚上线的网络应用程序。由于这在几个公司网络中使用,因此出现了一个特殊的问题。
用户可以登录系统,但公司网络后面的用户会间歇性地登录/查看其他用户个人资料。会议本质上是相互冲突的。
这些是服务器上的当前设置:
$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 72000;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
我们在亚马逊背后的LAMP堆栈上的负载平衡器上。
我们真的很喜欢这个,任何指针都欢迎。谢谢!
答案 0 :(得分:1)
我不知道这是否会为您解决这个问题,但我遇到了两个客户端类似的问题,这两个客户端是在限制HTTP标头大小的代理之后。这通常不是问题,但Codeigniters会话处理程序中存在错误,它为每个会话变量写入一个新的cookies:
条目,而不是一次性完成所有这些。如果您设置了大量会话变量,这会导致HTTP标头变得臃肿并导致某些网络出现问题。
我的建议是为Firefox下载Live HTTP Headers
并在使用该会话的页面上检查您网站的标题。如果您找到cookies:
的多个条目,则可能会导致您的问题。
要解决此问题,我建议您使用自己的会话库。试试Dariusz Debowczyk's Session Class,看看会发生什么。它为我修好了。
另一种选择是联系网络管理员以检查他们正在使用哪种代理(一些旧版本的squid代理给我带来了codeigniters会话的问题),以及他们是否对HTTP头的大小设置了限制。 / p>