我的ci会话有这个奇怪的问题。 在localhost上工作正常,但在线日志显示错误:
会话Cookie数据与预期不符。这可能是 可能的黑客企图。
我删除了所有Cookie并清空了会话表。我还将user_agent长度设置为255. Basepath也是正确的。记录会话ID时的注意事项如下:
在登录页面上,当检查用户名/ pw时,id是相同的,然后我转到id已更改的成员区域。
另一个例子:
1.我去会员区,会话ID设置,我没有登录,我发送到登录
2.在登录页面上,会话ID被更改,我登录
3.验证,会话ID不变,我已经过验证并发送到会员区域
4.在成员区域,会话ID已更改,我尚未登录。
在登录页面上,我的会话表计数0行,当我登录会话表计数2/3行时。其中1个,但没有当前会话ID保存所有正确的数据。
希望有人能帮助我。
答案 0 :(得分:4)
我认为Codeignitor原生php会话库存在问题。它会导致您描述的问题,因为如果未设置cookie,则不会设置。此外,它将无法识别会话。为了避免此问题,您可以使用Native Session Class
以下是支持我的回答的几个链接。 Problems with cookies / MAMP / Codeingiter http://myphplibrary.blogspot.in/2012/03/codeigniter-session-issue-fixation.html
答案 1 :(得分:1)
要检查的几件事情;
服务器本地时间与当地时间的关系 - 也许cookie在设置时即将到期?要确认 - 将$ config ['sess_expiration']时间设置为9999999并查看它是否有效
关闭$ config ['encrypt_cookie']
关闭$ config ['sess_match_ip']
确保您已设置正确的Cookie信息:
$config['cookie_prefix'] = "";
$config['cookie_domain'] = // YOUR DOMAIN
$config['cookie_path'] = // YOUR BASE URI
$config['cookie_secure'] = FALSE;