CakePHP Security::cipher() 不适用于服务器

发布于 2024-11-08 23:05:29 字数 611 浏览 6 评论 0原文

我在读取加密的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枕花眠 2024-11-15 23:05:29

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文