Heim  >  Artikel  >  Backend-Entwicklung  >  Wissenspunkte zu Cookies in PHP

Wissenspunkte zu Cookies in PHP

不言
不言Original
2018-05-07 09:26:131614Durchsuche

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.


Pfad, der Pfad, zu dem das Cookie gehört. Auf /author gesetzte Cookies werden nicht an den /category-Pfad gesendet, aber auf / gesetzte Cookies werden an alle Seitenanfragen gesendet.


Name, der Name des Cookies (Schlüsselname).


Wert, der Wert (Inhalt) des Cookies.


läuft ab, Ablaufzeit.


sicher, ob dieses Cookie nur bei https gesendet wird.


httponly, ob es nur für die HTTP-Übertragung verwendet wird. Wenn dieser Wert auf „true“ gesetzt ist, kann die browserseitige Skriptsprache nicht auf das Cookie zugreifen.


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.


Einige Daten müssen auf der Clientseite gespeichert werden, und Cookies sind eine Option. Nachdem der Benutzer „Nicht erneut auffordern“ aktiviert hat, kann das Logo auf dem Client gespeichert werden und das Programm kann erneut aufgerufen werden, um die Einstellungen zu lesen und zu entscheiden, ob es angezeigt werden soll. Mit der Popularität von HTML 5 wird dieser Teil der Funktion langsam durch localStorage ersetzt.


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 PHP

PHP verwendet Cookies, um die Funktion von Webseiten zu realisieren, die sich Benutzernamen und Passwörter merken

php setzt Cookies

Das 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Sitzungslernen in PHPNächster Artikel:Sitzungslernen in PHP