Wie setzt man Cookies im Browser?
sobes.tech KI
Antwort von AI
Es gibt mehrere Möglichkeiten, Cookies im Browser zu setzen.
-
Über den HTTP-Header
Set-Cookievom Server. Dies ist die Hauptmethode zum Setzen von Cookies, die auf Serverseite erfolgt. Der Server sendet dem Browser den HeaderSet-Cookie, der den Browser anweist, ein bestimmtes Schlüssel-Wert-Paar zu speichern.Beispiel einer HTTP-Antwort vom Server:
HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: username=johndoe; Expires=Thu, 21 Dec 2023 12:00:00 GMT; Path=/; Secure; HttpOnly Set-Cookie: settings=theme=dark&lang=en; Path=/Parameter des Headers
Set-Cookie:name=value: Name und Wert des Cookies. Obligatorischer Parameter.Expires=<date>: Datum und Uhrzeit, wann das Cookie abläuft. Wenn nicht angegeben, ist das Cookie eine Sitzungscookie und wird beim Schließen des Browsers gelöscht. Datumsformat - RFC 1123.Max-Age=<seconds>: Maximale Lebensdauer des Cookies in Sekunden. Hat Vorrang vorExpires.Domain=<domain>: Domain, für die das Cookie verfügbar ist. Standardmäßig die aktuelle Domain (aber keine Subdomains).Path=<path>: Pfad auf dem Server, für den das Cookie verfügbar ist. Standardmäßig der Wurzelpfad/.Secure: Kennzeichen, dass das Cookie nur über HTTPS gesendet werden soll.HttpOnly: Kennzeichen, dass das Cookie nicht über JavaScript zugänglich ist viadocument.cookie. Schützt vor XSS-Angriffen.SameSite=<mode>: Steuert das Senden des Cookies bei Cross-Site-Anfragen. Mögliche Werte:Strict,Lax(Standard),None.
-
Über JavaScript auf der Client-Seite. Mit dem Objekt
document.cookiekann man Cookies lesen, schreiben und löschen.Cookie setzen:
// Einfaches Cookie setzen document.cookie = "username=johndoe"; // Cookie mit expires, path, secure und SameSite=Lax setzen const expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30 Tage document.cookie = `token=abcdef123456; expires=${expiryDate.toUTCString()}; path=/; secure; SameSite=Lax`;Cookies lesen:
// document.cookie gibt eine Zeichenkette aller verfügbaren Cookies im Format "key1=value1; key2=value2; ..." console.log(document.cookie);Cookie löschen: Um ein Cookie zu löschen, setzt man es mit einem Ablaufdatum in der Vergangenheit.
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; // Ablaufdatum in der Vergangenheit setzenEs ist wichtig, bei der Löschung die gleichen
path- unddomain-Parameter anzugeben (falls gesetzt), die bei der Erstellung verwendet wurden.SameSitemuss ebenfalls übereinstimmen, um eine korrekte Löschung zu gewährleisten. -
Mit Drittanbieter-JavaScript-Bibliotheken. Es gibt Bibliotheken, die die Arbeit mit Cookies vereinfachen (z.B.
js-cookie). Sie bieten eine bequemere API zum Setzen, Lesen und Löschen von Cookies.Beispiel mit
js-cookie:// Bibliothek einbinden // <script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script> // Cookie setzen Cookies.set('username', 'johndoe'); // Cookie mit Optionen setzen Cookies.set('token', 'abcdef123456', { expires: 30, path: '/', secure: true, sameSite: 'Lax' }); // expires in Tagen // Cookies lesen const username = Cookies.get('username'); // Gibt 'johndoe' oder undefined zurück const allCookies = Cookies.get(); // Gibt ein Objekt mit allen Cookies zurück // Cookies löschen Cookies.remove('username'); Cookies.remove('token', { path: '/' }); // Pfad angeben, falls beim Setzen verwendet