Home  >  Article  >  Backend Development  >  Example analysis of cookie path and domain parameters

Example analysis of cookie path and domain parameters

WBOY
WBOYOriginal
2016-08-08 09:28:011496browse

The meaning of the two parameters can be summarized in one sentence:

path represents the directory where the cookie is located

domain represents the domain where the cookie is located, and the default is the requested address

First modify our hosts file and my local intranet ip 192.168.1.162


一.

We create the folder cookietest in the web root directory and create the file 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>';


?>
visit http://simael.php.com/cookietest/
Result:

No t3 t6 means that the cookie set for m0sh1.php.com cannot be obtained under the domain name simael.php.com

Two.

Visit http://simael.php.com/ Result:


No t4 t5 is because the path is set when setting the cookie

Three.

Visit http://simael .php.com/cookietest/index2.php Result:


The result is the same as (two)

four.

Visit http://simael.php.com/cookietest/test1/index .php Result:


The result is the same as (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>';

?>
visit http://simael.php.com/cookietest/index.php Result:



No t7 t8 proves that the upper level directory cannot obtain the cookies set in the lower level directory
But there is something I don’t understand:
The above screenshot is the effect of the Chrome browser
Look at firefox again

There is t7 in the cookies. The error is that I printed $_COOKIE['t7'] and cannot get t7. Look at the console again

and there is no t7. I can only see t7 under the cookies tab, but I can't get it. (This content is just mentioned by the way - -!)
Six.
Visit http://simael.php.com/cookietest/test1/index.php Result:


This time I saw t7 It shows that the cookie setting in the previous level index.php has taken effect, but it can only be obtained under the corresponding path. Only t2 t5 means that setting cookies for the domain name m0sh1.php.com in simeal.php.com is not effective. At the same time, because the domain set by the cookie is set, the cookie under the simeal domain name cannot be obtained under this domain name, but it can be obtained. Go to the cookie information under the .php.com domain and set the cookie domain to php.com
You can get the cookie information under any *.php.com domain

The above introduces the example analysis of cookie path and domain parameters, including the content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn