CakePHP Cookies变得混乱 - Suhosin相关

时间:2011-01-18 12:55:41

标签: php cakephp suhosin

出于某种原因,我在设置任何页面后无法从我的CakePHP应用程序中读取任何cookie,唯一返回的是乱码文本。

我的代码就像这样简单:

$this->Cookie->write('Region', 'test');
$reg = $this->Cookie->read('Region');
pr($reg);

我取消注释$ this-> Cookie-> write()行,我得到的是一堆随机控制字符。我最近也升级到了CakePHP 1.3,但AFAIK这不应该像这样影响cookie ... 这个工作正常,直到我更改了服务器,这一定是我问题的根源。

更新 在进一步探讨之后,我发现这是一个已知的问题,用于PHP的Suhosin安全补丁影响rand()和srand()方法,我已经配置了Suhosin来允许rand()函数,但它仍在发生,是否有在那里更有效的工作?

2 个答案:

答案 0 :(得分:7)

尝试使用此代码禁用cookie加密:

$this->Cookie->write('Region', 'test', false);
$reg = $this->Cookie->read('Region');
pr($reg);

write方法有以下参数:

write(mixed $key, mixed $value, boolean $encrypt, mixed $expires)

默认情况下,Cookie中的所有值都由CakePHP加密。但出于安全原因,您可能希望考虑使用加密。

答案 1 :(得分:1)

CakePHP默认加密cookie。

在这个新安装中,您的Security.salt值是否相同?

Cookie控制器设置中的$ key值如何?