【问题标题】:Codeigniter 2v Session Data LostCodeigniter 2v 会话数据丢失
【发布时间】:2015-10-26 11:11:00
【问题描述】:

我有一个关于 Codeigniter 会话的问题。当我登录到我们的系统时,会话已设置。在此会话中还设置了“user_id”。几次重定向后,我的“user_id”会话变量为空(无值)。

然后由于 user_id 的 null 值,它重定向到登录页面。为什么会出现这个问题?

查看下面的config.php文件

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;
$config['cookie_prefix']    = "";
$config['cookie_domain']    = "";
$config['cookie_path']      = "/";
$config['cookie_secure']    = FALSE;
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;

请帮我解决这个问题。 !

【问题讨论】:

  • 更改$config['sess_expiration'] = 86400
  • 你用的是什么版本的codeingiter?

标签: php codeigniter session redirect session-variables


【解决方案1】:

替换

$config['sess_expiration']      = 7200;

$config['sess_expiration']      = 0;

有关会话的更多信息,请阅读 thisthis link

【讨论】:

  • 我们的会话已经在数据库中。但我的“user_id”会话密钥丢失了。那是我的问题?
  • 尝试让原生php会话类读取我给你的第二个链接
【解决方案2】:

您没有提供有关您的应用程序的太多信息,但是如果您在重定向之间有很多 ajax 请求,您可能会遇到经典的 CI 2 错误,即存在一个竞争条件,每当一个 ajax 有效地重置用户会话请求是在会话轮换窗口期间提出的。

CodeIgniter 将会话存储在由 session_id 字段索引的表中。这是在会话创建和轮换时随机生成的唯一标识符。 session_id 在每次请求后作为 cookie 发送到浏览器,这会覆盖存储在 cookie 中的任何 session_id。当客户端和服务器之间任何时候只发送一个请求时,该系统在正常操作期间运行良好。在正常操作期间,客户端和服务器之间将交换相同的 cookie。在会话轮换时,服务器将向客户端发送一个新的 cookie,客户端将存储它并在下一次请求时将新的 cookie 重新发送回服务器。这也可以正常工作。

当服务器在会话轮换期间同时收到两个请求时不起作用(同时被定义为在收到所有其他正在进行的请求之前发送到服务器的请求)。

This link here 彻底解释了它,如果这是你的情况,那么你可以在那里找到解决方法。

由于浏览器发出 ajax 请求的方式(或 至少是我们发出 ajax 请求的方式),以及 CodeIgniter 的方式 处理会话轮换。

PS。它的 Codeigniter 不是 codeignitor :)

【讨论】:

    猜你喜欢
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 2012-12-16
    • 2013-01-06
    • 1970-01-01
    • 2015-04-20
    相关资源
    最近更新 更多