ホームページ >バックエンド開発 >PHPチュートリアル >PHP Cookie のドット (ピリオド) は自動的にアンダースコアに変換されます。Cookie には下線が付いています_PHP チュートリアル。
PHP Cookie ではドット (ピリオド) は使用できません。実際には、ドットを含む Cookie 名を使用することはできますが、Cookie に名前を付けることはできません。
実際には、Cookie 内で「my.name」経由でこの値を見つけることはできず、「my_name」:
エコー $_COOKIE['my_name']
php が自動的に変換し、ピリオドはアンダースコアに変換されます。
なぜphpがこれを行うのですか?これは $_GET/$_POST/$_SERVER/$_COOKIE が原因です。 。 。これらのグローバル関数の値は、以前の多くのバージョンでは register_globals パラメーターを介してローカルで直接アクセスできます。たとえば、 register_globals = on をオンにした後、$my_name に直接アクセスすると値が 1 になります。 $my.name の場合、PHP 変数の命名規則に準拠していません。これはピリオド (.) だけの問題ではありません。
したがって、$_COOKIE の命名はすでに PHP 命名標準に準拠しています。
register_globals をオンにすることも、次のようなスクリプト内の元の値を上書きする可能性があるため、間違った決定です。
// 他のコード
$uc_is_login = true;
// ...
ユーザーは、デフォルトでログインするには、url?a=1 を指定して http リクエストを送信するだけで済みます。これは非常に危険な行為であるため、閉鎖する必要があります。実際、php6 ではこのオプションが削除されました。
domain.com のサブディレクトリに適用できるように、.domain.com の前にピリオドを追加します。
「/」はルートディレクトリです。
これにより、どこにいても保存された Cookie を取得できます。
http://www.bkjia.com/PHPjc/897693.html