codeigniter的会话系统如何与PHP的内置$ _SESSION分开?

Moh*_*aji 5 php session codeigniter phpinfo

正如手册所说:

注意:Session类不使用本机PHP会话.它生成自己的会话数据,为开发人员提供更多灵活性.

但是当我使用存储一些数据时$this->session->set_userdata(array('sample_key' => 'sample_value'));,phpinfo()我可以找到sample_key并且sample_value在那里.

我希望那部分

不使用本机PHP会话

意味着它隐藏了会话变量phpinfo().

我一直认为这可能是一种安全缺乏.可能吗?

看起来,这些价值观都是如此urlencode.

Roc*_*mat 0

CodeIgniter的“会话”只是将数据存储在cookie中,并将其称为会话。本机 PHP 会话将数据存储在服务器上,并将“sessionID”存储在 cookie 中。

在 中phpinfo,您可以看到变量,但这是您的会话,您看不到其他用户的会话。

  • @ceejayoz:我在哪里说过没有替代驱动程序?我刚刚描述了默认行为是什么。 (4认同)
  • @smhnaji:CodeIgniter 并不是不安全的。客户端可以编辑会话数据,但它会在每次加载时验证它。如果您更改会话数据,哈希值将不匹配,CodeIgniter 将使您的会话无效。如果需要,您可以将会话信息存储在数据库中,也可以使用库来使 CodeIgniter 能够使用本机 PHP 会话。 (2认同)