Hoe stel je cookies in de browser in?
sobes.tech AI
Antwoord van AI
U kunt cookies op verschillende manieren in de browser instellen.
-
Via de HTTP-header
Set-Cookievanaf de server. Dit is de belangrijkste methode om cookies in te stellen, die aan de serverzijde plaatsvindt. De server stuurt de headerSet-Cookienaar de browser, die aangeeft dat een bepaald sleutel-waarde paar moet worden opgeslagen.Voorbeeld van een HTTP-respons van de 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=/Parameters van de header
Set-Cookie:name=value: Naam en waarde van de cookie. Verplicht.Expires=<date>: Datum en tijd waarop de cookie verloopt. Als niet gespecificeerd, is de cookie een sessiecookie en wordt deze verwijderd bij het sluiten van de browser. Datumformaat - RFC 1123.Max-Age=<seconds>: Maximale levensduur van de cookie in seconden. Heeft prioriteit bovenExpires.Domain=<domain>: Domein waarvoor de cookie beschikbaar is. Standaard de huidige domein (maar geen subdomeinen).Path=<path>: Pad op de server waarvoor de cookie beschikbaar is. Standaard de root/.Secure: Vlag die aangeeft dat de cookie alleen via HTTPS moet worden verzonden.HttpOnly: Vlag die aangeeft dat de cookie niet toegankelijk is via JavaScript metdocument.cookie. Beschermt tegen XSS-aanvallen.SameSite=<mode>: Beheert het verzenden van cookies bij cross-site verzoeken. Mogelijke waarden:Strict,Lax(standaard),None.
-
Via JavaScript aan de clientzijde. Met het object
document.cookiekan je cookies lezen, schrijven en verwijderen.Cookie schrijven:
// Eenvoudige cookie instellen document.cookie = "username=johndoe"; // Cookie met expires, path, secure en SameSite=Lax instellen const expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30 dagen document.cookie = `token=abcdef123456; expires=${expiryDate.toUTCString()}; path=/; secure; SameSite=Lax`;Cookies lezen:
// document.cookie geeft een string van alle beschikbare cookies in het formaat "key1=value1; key2=value2; ..." console.log(document.cookie);Cookie verwijderen: Om een cookie te verwijderen, moet je deze instellen met een vervaldatum in het verleden.
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; // vervaldatum in het verledenHet is belangrijk dat bij het verwijderen dezelfde
pathendomainparameters worden gebruikt (indien ingesteld), als bij het aanmaken.SameSitemoet ook overeenkomen voor een correcte verwijdering. -
Met behulp van third-party JavaScript bibliotheken. Er zijn bibliotheken die het werken met cookies vereenvoudigen (bijvoorbeeld
js-cookie). Ze bieden een handigere API voor het instellen, verkrijgen en verwijderen van cookies.Voorbeeld met
js-cookie:// Bibliotheek toevoegen // <script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script> // Cookie instellen Cookies.set('username', 'johndoe'); // Cookie met opties instellen Cookies.set('token', 'abcdef123456', { expires: 30, path: '/', secure: true, sameSite: 'Lax' }); // expires in dagen // Cookies lezen const username = Cookies.get('username'); // Geeft 'johndoe' of undefined const allCookies = Cookies.get(); // Geeft een object met alle cookies // Cookies verwijderen Cookies.remove('username'); Cookies.remove('token', { path: '/' }); // Geef pad op als het bij het instellen werd gebruikt