CakePHP Security::cipher() 不适用于服务器
我在读取加密的 cookie 时遇到问题。调试显示服务器上的 Security::cipher() 以某种方式损坏。无论如何我可以解决它吗?
下面是细分。
代码
$value = "Hello World";
$key = Configure::read('Security.salt');
$val = Security::cipher($value, $key);
debug($val);
$ret = Security::cipher($val, $key);
debug($ret);
本地
app\views\pages\home.ctp (line 17)
�J��WtJ0�
app\views\pages\home.ctp (line 19)
Hello World
服务器
app/views/pages/home.ctp (line 17)
x�.��9v��
app/views/pages/home.ctp (line 19)
�{�U��g��O
I'm having a problem with reading the encrpyted cookie. Debugging revealed that Security::cipher() on server is somehow broken. Is there anyway I could solve it?
Below is the breakdown.
Code
$value = "Hello World";
$key = Configure::read('Security.salt');
$val = Security::cipher($value, $key);
debug($val);
$ret = Security::cipher($val, $key);
debug($ret);
Local
app\views\pages\home.ctp (line 17)
�J��WtJ0�
app\views\pages\home.ctp (line 19)
Hello World
Server
app/views/pages/home.ctp (line 17)
x�.��9v��
app/views/pages/home.ctp (line 19)
�{�U��g��O
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Security::cipher() 使用 srand() 函数,该函数被 suhosin 模块禁用,该模块是许多 Apache、PHP 服务器的默认设置。
禁用 suhosin 和 Security::cipher() 将正常工作。
Security::cipher() is using srand() function which is disabled by suhosin module which comes as default for many Apache, PHP servers.
Disable suhosin and Security::cipher() will work fine.