Heim > Artikel > Backend-Entwicklung > Wissenspunkte zu Cookies in PHP
Dieser Artikel stellt hauptsächlich die Wissenspunkte über Cookies in PHP vor, die einen gewissen Referenzwert haben. Jetzt können Freunde in Not darauf zurückgreifen.
Was ist ein Cookie? >
Cookies, kleine Cookies, sind Datenelemente, die auf der Seite des Benutzeragenten gespeichert werden (Browser sind die häufigsten Benutzeragenten). Beim Surfen im Internet fügt der Browser das gültige Cookie der aktuellen Seite in den Header der Anfrage ein und sendet es an den Server.Cookie-Zusammensetzung
Cookie besteht aus folgenden Teilen: Domain, der Domainname, zu dem das Cookie gehört. Wenn der Browser ein Cookie sendet, prüft er den Domänennamen, zu dem das Cookie gehört, und sendet es nur, wenn er übereinstimmt. Der Browser sendet das Cookie unter der Domäne tlanyan.me an die Seitenanforderung von www.tlanyan.me oder dev.tlanyan.me, sendet es jedoch nicht an www.baidu.com. Ebenso kann das Cookie von dev.tlanyan.me nicht an tlanyan.me gesendet werden, da der Domänenname auf die Unterdomäne dev beschränkt ist.Zwecke von Cookies
Cookies werden hauptsächlich in den folgenden Bereichen verwendet: http ist ein zustandsloses Protokoll und es werden zusätzliche Informationen benötigt Zur Aufrechterhaltung der Sitzung sind Cookies die am häufigsten verwendete Methode. Die beiden gängigen Arten von Cookies, PHPSESSID und JSESSIONID, werden zur Aufrechterhaltung von Sitzungen in PHP- bzw. Java-Webanwendungen verwendet.Cookie-Operation auf PHP-Seite
Das Lesen von Cookies kann alle vom Benutzer über die superglobale Variable $_COOKIE übergebenen Cookies lesen. $_COOKIE ist ein Array, das durchlaufen werden kann, um den Namen und den Wert des gesendeten Cookies zu lesen. Der Browser sendet nur den Schlüsselwert des Cookies an den Server und kann daher die Domäne/Pfad/Abläufe und andere Informationen des Cookies nicht lesen. PHP bietet die Setcookie-Funktion zum Senden von Cookies an den Client. Die Funktionssignatur von setcookie lautet:bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )Die Parameter entsprechen dem Inhalt des Cookies: Expires ist standardmäßig 0, was bedeutet, dass nur die aktuelle Sitzung gültig ist , nachdem der Benutzer den Browser geschlossen hat, wird der Pfad standardmäßig auf den aktuellen Seitenpfad zurückgesetzt, d. h. der Teil vor dem letzten Backslash der URL wird standardmäßig auf den Domänennamen der aktuellen Seite gesetzt Der Verwendungsbereich kann auf den übergeordneten Domänennamen oder den Domänennamen der obersten Ebene festgelegt werden. Der Standardwert von httponly ist „false“. Es wird empfohlen, ihn auf „true“ zu setzen, um XSS-Angriffe zu vermeiden. Um ein Cookie zu löschen, müssen Sie lediglich den Ablauf des Cookies auf einen vergangenen Zeitstempel festlegen, z. B. time() – 3600. Um also das Cookie-Foo zu löschen, kann der Code
setcookie('foo', '', time() - 3600);
Gute Cookie-Praktiken Es ist ersichtlich, dass das Datenfragment gespeichert wird. Cookies werden häufig in der Webentwicklung verwendet und sollten besser verstanden werden. Im Folgenden finden Sie einige bewährte Vorgehensweisen für die Verwendung von Cookies: Übermäßig große und übermäßige Daten sollten nicht in Cookies gespeichert werden.
Cookies sind auf dem Client und während der Übertragung deutlich sichtbar. Sensible Daten sollten nicht in Cookies gespeichert werden Informationen:Stellen Sie das httponly-Attribut des Cookies so weit wie möglich auf true ein.
Cookies werden vollständig vom Client kontrolliert und sind auch externe Eingaben. Der Server kann ihnen nicht blind vertrauen und sollte sie filtern ihnen.Andere
Cookies werden mit der Anfrage gesendet und mit der Antwort an den Client gesendet. Nachdem Sie diesen Prozess verstanden haben, können Sie einige häufige Probleme für Anfänger verstehen, wie zum Beispiel den folgenden Code:
if (!isset($_COOKIE['foo']) { setcookie('foo', 'foobar'); } $foo = $_COOKIE['foo'];
Wenn das Cookie foo nicht gesetzt ist, wird Zeile 5 angezeigt Während des Betriebs tritt ein Fehler auf. Der Grund dafür ist, dass setcookie die Cookie-Informationen für diese Antwort setzt. Der Browser muss die Antwort empfangen und setzen, bevor er das Cookie an nachfolgende Anfragen anhängen kann, und es wird in dieser Anfrage nicht widergespiegelt.
In ähnlicher Weise sind Cookies in den Header-Informationen von Anforderungen und Antworten vorhanden, und der Header sollte vor dem Anforderungstext stehen, sodass die Nutzungsbeschränkungen für den Funktionskontext von setcookie dieselben sind wie für die Header-Funktion, das heißt: Dies ist nicht möglich wurden bereits als Antworttext gesendet.
Verwandte Empfehlungen:
Verwendung von Cookies in PHPDas obige ist der detaillierte Inhalt vonWissenspunkte zu Cookies in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!