问题
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
回答1:
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.
来源:https://stackoverflow.com/questions/6087463/cakephp-securitycipher-is-not-working-specifically-on-server