Мне нужно сохранить некоторые данные в куки.Данные проходят шифрование mcrypt
, а затем base64
для предотвращения использования каких-либо странных символов.
Сохранение зашифрованной и закодированной строки в сеансе и ее считывание и дешифрование / декодирование работает отлично.Не удается выполнить то же самое с файлом cookie - возвращается абсолютно бессмысленный текст.
Очевидно, это связано с тем, что вызов функции mcrypt-decrypt
получает неверные данные, что заставляет меня полагать, что на содержимое моего файла cookie влияюттак или иначе.
Что, черт возьми, PHP делает за кулисами с моими данными cookie?
Код:
(Обратите внимание, чтоmcrypt-функции представлены ниже как простой вызов функции для удобства чтения)
$string = base64_encode( mcrypt_encrypt( 'A string' ) );
setcookie('string', $string, time()+3600);
$_SESSION['string'] = $string;
$sessiondata = base64_decode( mcrypt_decrypt($_SESSION['string']); // A string!
$cookiedata = base64_decode( mcrypt_decrypt($_COOKIE['string']) ); // Completely gibberish