Maison >développement back-end >Problème PHP >Comment définir la portée des cookies en php ?
.En PHP, vous pouvez utiliser la fonction setcookie() pour définir la portée du cookie. La syntaxe est "setcookie(name, value, expire, path, domain, secure)". Vous pouvez définir la portée du cookie en définissant la valeur du paramètre de domaine,
Lorsque nous avons défini des cookies pour le site Web, avez-vous constaté que ces cookies étaient également reçus sous d'autres noms de domaine du site Web ? Ces cookies inutiles ne semblent peut-être pas représenter beaucoup de trafic, mais pour un site avec des dizaines de millions de PV par jour, les ressources gaspillées ne sont pas négligeables. Par conséquent, lors de la création d’un cookie, sa portée doit être définie avec précision.
Nous savons tous que setcookie est utilisé en PHP pour définir des cookies de sites Web [Tutoriels associés recommandés : "Tutoriel PHP"]
L'utilisation de cette fonction. est la suivante :
setcookie(name,value,expire,path,domain,secure)
Aujourd'hui, nous allons discuter de son cinquième domaine de paramètres, car il détermine la portée du cookie.
Il existe désormais les 3 noms de domaine suivants, un nom de domaine de premier niveau, un nom de domaine de deuxième niveau et un nom de domaine de troisième niveau :
① zydya.com
②blog.zyday.com
③one.blog.zyday.com
Définissez d'abord les cookies sous le nom de domaine ①zyday.com, effectuez quatre tests et définissez le paramètres de domaine à vider et 'zyday.com', 'blog.zyday.com' et 'one.blog.zyday.com'.
√ indique que le cookie peut être obtenu sous le nom de domaine, × indique que le cookie ne peut pas être obtenu
paramètre de domaine | zydya.com | blog.zyday.com | un. blog.zyday.com | ||||||||||||||||||||
setcookie('name',1,time()+1) | √ | √ | √ | ||||||||||||||||||||
setcookie('name',1,time()+1,'/','zyday.com') | √ | √ | √ | ||||||||||||||||||||
setcookie('name',1,time()
|
× | × | × | ||||||||||||||||||||
setcookie('nom', 1,time() +1,'/','one.blog.zyday.com') |
× | × | × |
domain参数 | zydya.com | blog.zyday.com | one.blog.zyday.com |
setcookie('name',1,time() +1) |
× | √ | √ |
setcookie('name',1,time()+1,'/','zyday.com') | √ | √ | √ |
setcookie('name',1,time()+1,'/','blog.zyday.com') | × | √ | √ |
setcookie('name',1,time()+1,'/',one.blog.zyday.com') | × | × | × |
paramètre de domaine | zydya.com | blog.zyday.com | un. blog.zyday.com |
setcookie('name',1,time()+1) | × | √ | √ |
setcookie('name',1,time()+1,'/','zyday.com ') | √ | √ | √ |
setcookie('name',1,time()+ 1,'/', 'blog.zyday.com') | × | √ | √ |
setcookie('name', 1,time()+1,'/',one.blog.zyday.com') | × | ×× |
Regardez la deuxième ligne. Le paramètre de domaine est zyday.com, qui est le nom de domaine parent de blog.zyday.com, puis tous les sous-domaines sous zyday.com (y compris zyday.com, blog.zyday.com, un. .blog.zyday .com) peut recevoir des cookies.
Lorsque le domaine est son propre nom de domaine, son nom de domaine parent ne sera pas affecté, et lui et ses noms de sous-domaines peuvent recevoir des cookies.
Lors de la définition de son sous-domaine ou autre nom de domaine, tous les noms de domaine ne recevront pas de cookies.
Définissez enfin le cookie sous le nom de domaine ③one.blog.zyday.com
paramètre de domaine | zydya.com | blog.zyday.com | one.blog.zyday.com | ||||||||||||||||||||
setcookie('name',1,time()
|
× | × | √ | ||||||||||||||||||||
setcookie('name',1,time()+1,'/','zyday.com') | √ | √ | √ | ||||||||||||||||||||
setcookie('name',1,time()+1,'/', 'blog .zyday.com') | × | √ | √ | ||||||||||||||||||||
setcookie('nom', 1, heure()+1,'/',one.blog.zyday.com') | × | ×√ |
Les conclusions tirées du troisième test ont été résumées ci-dessus. Relisez-le, pas beaucoup d'explications ici.
Il y a deux points à noter lors de la définition du domaine :
1. Si le paramètre de domaine est omis dans setcookie, alors le domaine est par défaut le nom de domaine actuel.
2. Le paramètre domain peut définir le nom de domaine parent et lui-même, mais ne peut pas définir d'autres noms de domaine, y compris les noms de sous-domaines, sinon le cookie ne fonctionnera pas.
Ensuite, la portée du cookie :
La portée du cookie est le domaine lui-même et tous les sous-domaines sous le domaine.
Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!