Codeigniter会话在页面之间丢失数据

时间:2016-03-10 20:08:41

标签: php codeigniter

如果在一页之前的会话数据中添加了包含\\\'之类字符串的字符串,我的网站会遇到会话数据损坏的问题。我试图找出解决这个问题的方法。

发生了什么的例子:

    function testsession(){
        session_start();
        $breakingString['key'] = 'breaking code \\\'';  //Array containing string the that causes the break. It only breaks if in an array.
        $this->session->set_userdata('breakval', $breakingString);
        redirect('admin/testsession2');
    }
    function testsession2(){
        var_dump($this->session->userdata('breakval')); //returns false
        die;
    }

除了编码base64中的所有内容之外,有没有办法阻止这个bug发生?

1 个答案:

答案 0 :(得分:0)

你必须把session_start();在您希望访问$ _SESSION中保存的数据的所有页面上。

PHP Sessions basic usage