Was ist ein Cookie?
Ein Cookie ist eine kleine Datei mit einer maximalen Größe von 4 KB, die der Webserver auf dem Clientcomputer speichert.
Sobald ein Cookie gesetzt wurde, geben alle folgenden Seitenanforderungen den Namen und den Wert des Cookies zurück.
Ein Cookie kann nur von der Domain gelesen werden, von der es ausgegeben wurde. Beispielsweise kann ein Cookie-Set, das die Domain www.guru99.com verwendet, nicht aus der Domain careers.guru99.com gelesen werden.
Die meisten Websites im Internet zeigen Elemente aus anderen Bereichen wie Werbung an. Die Domains, die diese Elemente bedienen, können auch eigene Cookies setzen. Diese werden als Cookies von Drittanbietern bezeichnet.
Ein von einem Benutzer erstelltes Cookie kann nur für ihn sichtbar sein. Andere Benutzer können den Wert nicht sehen.
Die meisten Webbrowser bieten Optionen zum Deaktivieren von Cookies, Cookies von Drittanbietern oder beidem.
Wenn dies der Fall ist, antwortet PHP mit der Übergabe des Cookie-Tokens in der URL.
Das folgende Diagramm zeigt, wie Cookies funktionieren.
Hier,
1) Ein Benutzer fordert eine Seite an, auf der Cookies gespeichert sind
2) Der Server setzt das Cookie auf dem Computer des Benutzers
3) Andere Seitenanforderungen des Benutzers geben den Namen und den Wert des Cookies zurück
In diesem Tutorial lernen Sie:
- Warum und wann Cookies verwenden?
- Cookies erstellen
- Abrufen des Cookie-Werts
- Cookies löschen
- Was ist eine Sitzung?
- Warum und wann Sitzungen verwendet werden?
- Sitzung erstellen
- Sitzungsvariablen zerstören
Warum und wann Cookies verwenden?
-
HTTP ist ein zustandsloses Protokoll. Cookies ermöglichen es uns, den Status der Anwendung mithilfe kleiner Dateien zu verfolgen, die auf dem Computer des Benutzers gespeichert sind.
Der Pfad, in dem die Cookies gespeichert werden, hängt vom Browser ab.
Internet Explorer speichert sie normalerweise im Ordner Temporal Internet Files.
-
Personalisierung der Benutzererfahrung - Dies wird erreicht, indem Benutzer ihre Einstellungen auswählen können.
Die folgende angeforderte Seite wird basierend auf den in den Cookies festgelegten Einstellungen personalisiert.
- Verfolgung der von einem Benutzer besuchten Seiten
Cookies erstellen
Schauen wir uns nun die grundlegende Syntax an, mit der ein Cookie erstellt wird.
HIER,
- PHP "setcookie" ist die PHP-Funktion, die zum Erstellen des Cookies verwendet wird.
- "Cookie_name" ist der Name des Cookies, das der Server verwendet, um seinen Wert aus der Array-Variablen $ _COOKIE abzurufen. Es ist obligatorisch.
- "Cookie_value" ist der Wert des Cookies und dessen obligatorisch
- "[Expiry_time]" ist optional; Hiermit kann die Ablaufzeit für das Cookie festgelegt werden, z. B. 1 Stunde. Die Zeit wird mit den PHP-Funktionen time () plus oder minus einer Anzahl von Sekunden größer als 0 eingestellt, dh time () + 3600 für 1 Stunde.
- "[Cookie_path]" ist optional; Hiermit kann der Cookie-Pfad auf dem Server festgelegt werden. Der Schrägstrich "/" bedeutet, dass das Cookie in der gesamten Domain verfügbar gemacht wird. Unterverzeichnisse beschränken den Cookie-Zugriff auf die Unterdomäne.
- "[Domain]" ist optional. Es kann verwendet werden, um die Cookie-Zugriffshierarchie zu definieren, dh www.cookiedomain.com bedeutet die gesamte Domain, während www.cookiedomain.com den Cookie-Zugriff auf www.cookiedomain.com und dessen Sub beschränkt Domänen. Beachten Sie, dass es möglich ist, eine Subdomain einer Subdomain zu haben, solange die Gesamtzahl der Zeichen 253 Zeichen nicht überschreitet.
- "[Sicher]" ist optional, der Standardwert ist false. Es wird verwendet, um zu bestimmen, ob das Cookie über https gesendet wird, wenn es auf true gesetzt ist, oder http, wenn es auf false gesetzt ist.
- "[Httponly]" ist optional. Wenn es auf true gesetzt ist, können nur clientseitige Skriptsprachen, dh JavaScript, nicht darauf zugreifen.
Hinweis: Die PHP-Set-Cookie-Funktion muss vor dem HTML-Eröffnungs-Tag ausgeführt werden.
Schauen wir uns nun ein Beispiel an, das Cookies verwendet.
Wir werden ein Basisprogramm erstellen, mit dem wir den Benutzernamen in einem Cookie speichern können, das nach zehn Sekunden abläuft.
Der folgende Code zeigt die Implementierung des obigen Beispiels "cookies.php".
Ausgabe:
the cookie has been set for 60 seconds
Abrufen des Cookie-Werts
Erstellen Sie eine weitere Datei mit dem Namen "cookies_read.php" mit dem folgenden Code.
Ausgabe:
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )
Hinweis: $ _COOKIE ist ein PHP, das in eine super globale Variable eingebaut ist.
Es enthält die Namen und Werte aller gesetzten Cookies.
Die Anzahl der Werte, die der
Das Array $ _COOKIE kann abhängig von der in php.ini festgelegten Speichergröße enthalten.
Der Standardwert ist 1 GB.
Testen unserer Anwendung.
Nehmen wir an, Sie haben Ihre PHP-Dateien im phptus-Ordner gespeichert.
- Schritt 1 - Öffnen Sie Ihren Webbrowser und geben Sie die URL http: //localhost/phptuts/cookies_read.php ein
Hinweis: Es wurde nur ein leeres Array angezeigt
- Schritt 2 - Browser zur URL http: //localhost/phptuts/cookies.php
- Schritt 3 - Wechseln Sie zurück zur ersten Registerkarte und klicken Sie auf die Schaltfläche Aktualisieren
Warten Sie eine Minute und klicken Sie dann erneut auf die Schaltfläche "Aktualisieren". Welche Ergebnisse haben Sie erzielt?
Cookies löschen
- Wenn Sie ein Cookie vor Ablauf seiner Gültigkeitsdauer zerstören möchten, setzen Sie die Ablaufzeit auf eine bereits verstrichene Zeit.
- Erstellen Sie eine neue Datei mit dem Namen cookie_destroy.php mit dem folgenden Code
- Wiederholen Sie die Schritte 1 bis 3 aus dem obigen Abschnitt, um Cookie-Werte abzurufen.
- Öffnen Sie die URL http: //localhost/phptuts/cookie_destroy.php
- Wechseln Sie zur URL http: //localhost/phptuts/cookies_read.php. Welche Ergebnisse werden angezeigt?
Was ist eine Sitzung?
- Eine Sitzung ist eine globale Variable, die auf dem Server gespeichert ist.
- Jeder Sitzung wird eine eindeutige ID zugewiesen, mit der gespeicherte Werte abgerufen werden.
- Jedes Mal, wenn eine Sitzung erstellt wird, wird ein Cookie mit der eindeutigen Sitzungs-ID auf dem Computer des Benutzers gespeichert und bei jeder Anforderung an den Server zurückgegeben. Wenn der Client-Browser keine Cookies unterstützt, wird die eindeutige PHP-Sitzungs-ID in der URL angezeigt
- Sitzungen können im Vergleich zu Cookies relativ große Datenmengen speichern.
- Die Sitzungswerte werden automatisch gelöscht, wenn der Browser geschlossen wird. Wenn Sie die Werte dauerhaft speichern möchten, sollten Sie sie in der Datenbank speichern.
- Genau wie die Array-Variable $ _COOKIE werden Sitzungsvariablen in der Array-Variablen $ _SESSION gespeichert. Genau wie bei Cookies muss die Sitzung vor HTML-Tags gestartet werden.
Warum und wann Sitzungen verwendet werden?
- Sie möchten wichtige Informationen wie die Benutzer-ID sicherer auf dem Server speichern, auf dem böswillige Benutzer nicht mit ihnen umgehen können.
- Sie möchten Werte von einer Seite zur anderen übergeben.
- Sie möchten die Alternative zu Cookies in Browsern, die keine Cookies unterstützen.
- Sie möchten globale Variablen effizienter und sicherer speichern als sie an die URL übergeben
- Sie entwickeln eine Anwendung wie einen Warenkorb, in dem Informationen mit einer Kapazität von mehr als 4 KB temporär gespeichert werden müssen.
Sitzung erstellen
Um eine Sitzung zu erstellen, müssen Sie zuerst die PHP-Funktion session_start aufrufen und dann Ihre Werte in der Arrayvariablen $ _SESSION speichern.
Nehmen wir an, wir möchten wissen, wie oft eine Seite geladen wurde. Dazu können wir eine Sitzung verwenden.
Der folgende Code zeigt, wie Sie Werte aus Sitzungen erstellen und abrufen
Ausgabe:
You are visitor number 1
Sitzungsvariablen zerstören
Die Funktion session_destroy () wird verwendet, um die gesamten PHP-Sitzungsvariablen zu zerstören.
Wenn Sie nur ein einzelnes Sitzungselement zerstören möchten, verwenden Sie die Funktion unset ().
Der folgende Code zeigt, wie beide Methoden verwendet werden.
Session_destroy entfernt alle Sitzungsdaten einschließlich der mit der Sitzung verknüpften Cookies.
Deaktivieren gibt nur die einzelnen Sitzungsvariablen frei.
Andere Daten bleiben erhalten.
Zusammenfassung
- Cookies sind kleine Dateien, die auf dem Computer des Benutzers gespeichert werden
- Cookies können nur von der ausstellenden Domain gelesen werden
- Cookies können eine Ablaufzeit haben. Wenn sie nicht gesetzt sind, läuft das Cookie ab, wenn der Browser geschlossen wird
- Sitzungen sind wie globale Variablen, die auf dem Server gespeichert sind
- Jede Sitzung erhält eine eindeutige Identifikations-ID, mit der die Variablen für einen Benutzer verfolgt werden.
- Sowohl Cookies als auch Sitzungen müssen gestartet werden, bevor HTML-Tags an den Browser gesendet werden.