ホームページ  >  記事  >  バックエンド開発  >  Cookie パスとドメインパラメータの分析例

Cookie パスとドメインパラメータの分析例

WBOY
WBOYオリジナル
2016-08-08 09:28:011536ブラウズ

2 つのパラメータの意味は 1 つの文に要約できます:

path は Cookie が配置されているディレクトリを表します

domain は Cookie が配置されているドメインを表し、デフォルトは要求されたアドレスです

最初に変更しますホスト ファイルとローカル イントラネット IP 192.168.1.162


一.

Web ルート ディレクトリにフォルダー cookietest を作成し、ファイルindex.php

<?php

setcookie(&#39;t1&#39;,&#39;t1&#39;,time()+3600,&#39;/&#39;,&#39;simael.php.com&#39;);
setcookie(&#39;t2&#39;,&#39;t2&#39;,time()+3600,&#39;/&#39;,&#39;php.com&#39;);
setcookie(&#39;t3&#39;,&#39;t3&#39;,time()+3600,&#39;/&#39;,&#39;m0sh1.php.com&#39;);
setcookie(&#39;t4&#39;,&#39;t4&#39;,time()+3600,&#39;/cookietest&#39;,&#39;simael.php.com&#39;);
setcookie(&#39;t5&#39;,&#39;t5&#39;,time()+3600,&#39;/cookietest&#39;,&#39;php.com&#39;);
setcookie(&#39;t6&#39;,&#39;t6&#39;,time()+3600,&#39;/cookietest&#39;,&#39;m0sh1.php.com&#39;);

echo __FILE__;  //  E:\wamp\www\cookietest\index.php
echo &#39;<br>';


?>
を作成します。 http://simael.php にアクセスしてください。 com/cookietest/
Result:

いいえ t3 t6 は、m0sh1.php.com に設定された Cookie がドメイン名 simael.php.com では取得できないことを意味します

2.

http://simael.php.com/ にアクセスしてください。 結果:


いいえ t4 t5 は、Cookie を設定するときにパスが設定されているためです

3.

http://simael にアクセスしてください.php.com/cookietest/index2.php 結果:


結果は(2)

fourと同じです。

http://simael.php.com/cookietestにアクセスしてください。 /test1/index .php 結果:


結果は(2)と同じ

5.

Modify/cookietest/index.php code

<?php

//setcookie(&#39;t1&#39;,&#39;t1&#39;,time()+3600,&#39;/&#39;,&#39;simael.php.com&#39;);
//setcookie(&#39;t2&#39;,&#39;t2&#39;,time()+3600,&#39;/&#39;,&#39;php.com&#39;);
//setcookie(&#39;t3&#39;,&#39;t3&#39;,time()+3600,&#39;/&#39;,&#39;m0sh1.php.com&#39;);
//setcookie(&#39;t4&#39;,&#39;t4&#39;,time()+3600,&#39;/cookietest&#39;,&#39;simael.php.com&#39;);
//setcookie(&#39;t5&#39;,&#39;t5&#39;,time()+3600,&#39;/cookietest&#39;,&#39;php.com&#39;);
//setcookie(&#39;t6&#39;,&#39;t6&#39;,time()+3600,&#39;/cookietest&#39;,&#39;m0sh1.php.com&#39;);
setcookie(&#39;t7&#39;,&#39;t7&#39;,time()+3600,&#39;/cookietest/test1&#39;,&#39;simael.php.com&#39;);
setcookie(&#39;t8&#39;,&#39;t8&#39;,time()+3600,&#39;/cookietest2/test1&#39;,&#39;simael.php.com&#39;);

echo __FILE__;
echo &#39;<br>';

?>
http://simael.php.comにアクセスしてください/cookietest/index.php 結果:



いいえ、t7 t8は、上位レベルのディレクトリが下位レベルのディレクトリに設定されたCookieを取得できないことを証明しています
しかし、理解できないことがあります:
上のスクリーンショットはChromeブラウザの影響です
見てくださいもう一度Firefox

クッキーにt7があります。$_COOKIE['t7']を出力しましたが、t7を取得できません。もう一度コンソールを見てみると、t7しかありません。
http://simael.php.com/cookietest/test1/index.php にアクセスします。 :



今回はt7を見ました。前のレベルのindex.phpのCookie設定が有効になっていることが示されていますが、対応するパスの下でのみ取得できます。t2 t5のみがドメインにCookieを設定することを意味します。 simeal.php.com の名前 m0sh1.php.com は無効になります。同時に、Cookie によって設定されたドメインが設定されているため、このドメイン名では simeal ドメイン名の Cookie を取得できません。 .php.com ドメインの Cookie 情報に移動し、Cookie ドメインを php.com に設定します

どの *.php.com ドメインでも Cookie 情報を取得できます

以上、Cookieパスとドメインパラメータの解析例を内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。