【发布时间】:2016-03-10 20:08:40
【问题描述】:
如果在前一页的会话数据中将包含 \\\' 之类的字符串添加到会话数据中的数组中,我的站点会损坏会话数据。我正在想办法解决这个问题。
一个例子:
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 编码所有内容之外,还有什么方法可以阻止这个错误的发生?
【问题讨论】:
-
它不会为我返回 false。您能否发布您的实际代码实现,以便我们帮助找出问题所在?此外,如果您使用 CodeIgniter 会话,则不需要
session_start()。您是否使用:$this->load->library('session');加载了 Session 库?
标签: php codeigniter