5

我的 ci 会话有这个奇怪的问题。在本地主机上工作正常,但在线日志显示错误:

会话 cookie 数据与预期不符。这可能是一次可能的黑客攻击。

我删除了所有 cookie 并清空了会话表。我还将 user_agent 长度设置为 255。基本路径也是正确的。当我记录会话 ID 时需要注意的是:

在登录页面上,当检查用户名/密码时,id 是相同的,然后我转到我的成员区域,其中 id 已更改。

另一个例子:
1.我去会员区,设置了会话ID,我没有登录,我发送到登录
2.在登录页面,会话ID改变,我登录
3.验证,会话ID不变,我已验证并发送到会员区
4。在会员区,会话 ID 已更改,我未登录。

在登录页面上,我的会话表计为 0 行,当我登录时会话表计为 2/3 行。其中 1 个,但不是具有当前会话 ID 的那个包含所有正确的数据。

希望有人可以帮助我。

4

2 回答 2

4

我认为 Codeignitor 原生 php 会话库存在问题。它会导致您描述的问题,因为如果未设置 cookie,则不会设置。此外,它将无法识别会话。为了避免这个问题,你可以使用Native Session Class

这里有几个链接可以支持我的回答。 cookie / MAMP / Codeingiter 的问题 http://myphplibrary.blogspot.in/2012/03/codeigniter-session-issue-fixation.html

于 2012-05-09T18:21:10.513 回答
1

有几件事要检查;

  1. 服务器本地时间与您的本地时间 - 也许cookie在设置时到期?要确认 - 将 $config['sess_expiration'] 时间设置为喜欢 9999999 并查看它是否有效

  2. 关闭 $config['encrypt_cookie']

  3. 关闭 $config['sess_match_ip']

  4. 确保您设置了正确的 cookie 信息:

    $config['cookie_prefix']    = "";
    $config['cookie_domain']    = // YOUR DOMAIN
    $config['cookie_path']      = // YOUR BASE URI
    $config['cookie_secure']    = FALSE;
    
于 2012-05-09T17:15:57.260 回答