2017-02-09 4 views
0

私はbase64でエンコードされた配列キーを保存する必要があるソリューションに取り組んでいます。base64には_SESSIONを破る文字がありますか?

現在、うまく動作しますが、base64(utf-8)エンコーディングに$ _SESSIONを破る文字が含まれているのだろうか?

+0

私はPHPで$ _SESSIONの特定の実装を知らないPHPヘッダー機能を使用することができます出力リレーが、BASE64エンコーディング文字は、単にAZ、az、0-9、/、+、=です。最後の3つだけが問題を引き起こす可能性があります。セッション変数に入れてテストするのは簡単でしょうか? – CptCoathanger

+0

答えはノー – apokryfos

答えて

0

Base64は英数字と "+"、 "/"、 "="を作成します。括弧がないので、問題はないはずです。

0

$ _SESSIONは、PHP(ほとんどのデータが可能)によって直列化/非直列化できる限り、任意のデータを保持することができます。セッションデータがファイルに格納され、ファイルがそれらを処理できるので、任意の文字を処理できます。実際にはserialize/ unserialize関数を自分で呼び出す必要はありません。PHPがそれを行います。

質問は、PHPでどの文字が配列キーとして許可されているのかというと、答えが文字か整数の場合は許されます。

0

いいえ。セッションはそれを文字列として保存します。 php-mbstring拡張機能が有効になっていることを確認してください。 php.iniファイルを編集してdefault_charset = "utf-8"を使用してください。 とブラウザのためにあなたがあなたのhtmlでエンコーディングを指定することができ

header('Content-Type: text/html; charset=utf-8'); 

または

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
関連する問題