ドット (ピリオド) を使用した PHP Cookie 名は変換されます_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:16:05
オリジナル
1045 人が閲覧しました

ドット (ピリオド) を使用する PHP Cookie 名は変換されます

このタイトルはあまり厳密ではありませんが、ドット付き Cookie 名を使用できますが、Cookie に名前を付けます:

$_COOKIE[‘my.name’] = 1;

実際には、この値は 'my.name' を通じて Cookie 内で見つけることはできず、'my_name':

のみで見つけられます。

echo $_COOKIE[‘my_name’];

PHPが自動的に変換してくれて、ピリオドはアンダースコアに変換されています。

なぜphpがこんなことをするのか? これは$_GET/$_POST/$_SERVER/$_COOKIEのためです。 。 。これらのグローバル関数の値は、以前の多くのバージョンでは register_globals パラメーターを介してローカルで直接アクセスできます。たとえば、 register_globals = on をオンにした後、$my_name に直接アクセスすると値が 1 になります。 $my.name の場合、PHP 変数の命名規則に準拠していません。これはピリオド (.) だけの問題ではありません。

したがって、$_COOKIEの命名はすでにPHPの命名標準に準拠しています。

さらに、 register_globals をオンにすることは、次のようなスクリプト内の元の値を上書きする可能性があるため、非常に悪い決定です。

// その他のコード

if ($a)

$uc_is_login = true;

// ...

デフォルトでログインするには、ユーザーは url?a=1 を指定して http リクエストを送信するだけで済みます。これは非常に危険な行為であるため、閉鎖する必要があります。実際、php6 ではこのオプションが削除されました。

http://www.bkjia.com/PHPjc/899488.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/899488.html技術記事ドット (ピリオド) を使用する PHP Cookie 名は変換されます。このタイトルは厳密ではありませんが、ドット付き Cookie 名も使用できます。$_COOKIE[my.name] という名前を付けます。 ] =...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート