Heim > Artikel > Backend-Entwicklung > Wie lege ich den Cookie-Bereich in PHP fest?
festlegenIn PHP können Sie die Funktion setcookie() verwenden, um den Geltungsbereich des Cookies festzulegen. Die Syntax lautet „setcookie(Name, Wert, Ablaufdatum, Pfad, Domäne, sicher)“. Sie können den Cookie-Bereich festlegen, indem Sie den Wert des Domänenparameters
Haben Sie beim Setzen von Cookies für die Website festgestellt, dass diese Cookies auch unter anderen Domainnamen der Website empfangen wurden? Diese nutzlosen Cookies scheinen zwar nicht für viel Traffic verantwortlich zu sein, aber für eine Website mit Dutzenden Millionen PV pro Tag sind die verschwendeten Ressourcen keine geringe Menge. Daher muss beim Setzen eines Cookies dessen Umfang genau festgelegt werden.
Wir alle wissen, dass setcookie in PHP verwendet wird, um die Cookies der Website zu setzen. [Empfohlene verwandte Tutorials: „PHP-Tutorial“]
Die Verwendung Diese Funktion lautet wie folgt:
setcookie(name,value,expire,path,domain,secure)
Heute besprechen wir die fünfte Parameterdomäne, da sie den Umfang des Cookies bestimmt.
Jetzt gibt es die folgenden 3 Domainnamen, einen Top-Level-Domainnamen, einen Second-Level-Domainnamen und einen Third-Level-Domainnamen:
① zydya.com
②blog.zyday.com
③one.blog.zyday.com
Setzen Sie zunächst Cookies unter dem Domainnamen ①zyday.com, führen Sie vier Tests durch und legen Sie die fest Domänenparameter zu leeren und 'zyday.com', 'blog.zyday.com' und 'one.blog.zyday.com'.
√ zeigt an, dass das Cookie unter dem Domainnamen abgerufen werden kann, × zeigt an, dass das Cookie nicht abgerufen werden kann
Domänenparameter | zydya.com | blog.zyday.com | eins. blog.zyday.com | ||||||||||||||||||||
setcookie('name',1,time()+1) | √ | √ | √ | ||||||||||||||||||||
setcookie('name',1,time()+1,'/','zyday.com') | √ | √ | √ | ||||||||||||||||||||
setcookie('name',1,time()
|
× | × | × | ||||||||||||||||||||
setcookie('name', 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') | × | × | × |
Domänenparameter | 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') | × | ×× |
Sehen Sie sich die zweite Zeile an. Der Domänenparameter ist zyday.com, der der übergeordnete Domänenname von blog.zyday.com ist. Dann sind alle Subdomänen unter zyday.com (einschließlich zyday.com, blog.zyday.com, eins). .blog.zyday.com) können Cookies empfangen.
Wenn es sich bei der Domäne um einen eigenen Domänennamen handelt, ist der übergeordnete Domänenname davon nicht betroffen und sie und ihre Subdomänennamen können Cookies empfangen.
Beim Festlegen der Subdomain oder eines anderen Domainnamens erhalten alle Domainnamen keine Cookies.
Setzen Sie schließlich das Cookie unter dem Domainnamen ③one.blog.zyday.com
Domänenparameter | 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('name', 1, time()+1,'/',one.blog.zyday.com') | × | ×√ |
Die Schlussfolgerungen aus dem dritten Test wurden oben zusammengefasst. Lesen Sie es noch einmal, hier gibt es nicht viele Erklärungen.
Beim Festlegen der Domäne sind zwei Punkte zu beachten:
1. Wenn der Domänenparameter in setcookie weggelassen wird, wird für die Domäne standardmäßig der aktuelle Domänenname verwendet.
2. Der Domänenparameter kann den übergeordneten Domänennamen und sich selbst festlegen, jedoch keine anderen Domänennamen, einschließlich Subdomänennamen, festlegen, da das Cookie sonst nicht funktioniert.
Dann der Geltungsbereich des Cookies:
Der Geltungsbereich des Cookies ist die Domain selbst und alle Subdomains unter der Domain.
Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Beherrschung
Das obige ist der detaillierte Inhalt vonWie lege ich den Cookie-Bereich in PHP fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!