いくつかのデータをCookieに保存する必要があります。データはmcrypt
暗号化base64
されてから、奇妙な文字が使用されるのを防ぎます。
暗号化およびエンコードされた文字列をセッションに保存し、それを読み戻し、復号化/デコードすることは完全に機能します。Cookieに対して同じことを行うと、失敗します。完全にぎこちないテキストが返されます。
明らかに、これはmcrypt-decrypt
関数呼び出しが不適切なデータを受信するという事実によるものであり、Cookieの内容が何らかの形で影響を受けていると私は信じています。
PHPは私のCookieデータの舞台裏で何をしているのですか?
コード:(
以下では、mcrypt-functionsが読みやすさのための単純な関数呼び出しとして表されていることに注意してください)
$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