我想使用document.cookie javascript属性访问SESSION ID。如果我使用PHP自己的会话处理程序,它工作正常。它打印以下内容:
"PHPSESSID=ceahfd1r8bl6iohavkb0gsv8d0"
但是当我尝试在我的Codeigniter应用程序中访问它时,它没有打印任何内容,只有两个引号。但是根据Google Chrome,现有的Codeigniter SESSION已经存在。像这样:
我在Firefox,Google chorme和IE 11上尝试过它,但没有。我还尝试禁用CodeIgniter会话库中的安全选项,例如session.use_strict_mode,但没有运气。
编辑:Codeigniter安全库是否可以阻止此行为?我的配置文件不允许任何安全模式:
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = TRUE;
$config['sess_match_ip'] = FALSE;
答案 0 :(得分:1)
你是对的。 CodeIgniter会话不是PHP会话。 CodeIgniter会话数据已加密。
以下引用CodeIgniter:
- 注意:Session类不使用本机PHP会话。它会生成自己的会话数据,为开发人员提供更大的灵活性。
- 注意:即使您没有使用加密会话,也必须在配置文件中设置加密密钥,用于帮助防止会话数据操作。
- 注意:Session类依赖于Encryption类,因此您必须安装Mcrypt扩展
https://ellislab.com/codeigniter/user-guide/libraries/sessions.html