会话ID在codeigniter的服务器端不起作用

时间:2018-06-23 06:23:31

标签: php codeigniter sessionid

我在Codeigniter中工作。目前,我的本地xampp服务器上的一切都正常运行。但是在将项目托管在服务器上后,会话ID无法使用,这会导致错误。代码如下。

$this->session->set_userdata(array('login_id'=>$row->user_id,'user_name'=> $row->name,'value'=> $this->session->session_id));

在本地服务器中使用同一行代码来获取会话ID,并且它起作用。我想要有关服务器的任何问题。

1 个答案:

答案 0 :(得分:0)

确保您的会话写目录可写。

在这里您可以找到有关codeigniter会话的信息。 https://www.codeigniter.com/user_guide/libraries/sessions.html

To be more specific, it doesn’t support PHP’s directory level and mode formats used in session.save_path, and it has most of the options hard-coded for safety. Instead, only absolute paths are supported for $ config ['sess_save_path']`。

您还应该知道的另一件事是,确保您不使用公开可读或共享的目录来存储会话文件。确保只有您有权查看所选sess_save_path目录的内容。否则,任何可以这样做的人也可以窃取当前的任何会话(也称为“会话固定”攻击)。

关于php会话 http://php.net/manual/en/session.configuration.php#ini.session.save-path

警告 如果将此设置保留在世界可读的目录中,例如/ tmp(默认设置),则服务器上的其他用户可能可以通过获取该目录中的文件列表来劫持会话。