Kuidas seadistada küpsiseid brauseris?
sobes.tech AI
Vastus AI-lt
Sõrmuste seadistamine brauseris on võimalik mitmel viisil.
-
HTTP päise
Set-Cookiekaudu serveris. See on peamine meetod küpsise seadistamiseks, mis toimub serveri poolt. Server saadab brauserile päiseSet-Cookie, mis instructrib brauserit salvestama teatud võtme-väärtuse paari.Näide serveri HTTP vastusest:
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=/Set-Cookiepäise parameetrid:name=value: küpsise nimi ja väärtus. Kohustuslik parameeter.Expires=<kuupäev>: kuupäev ja aeg, millal küpsis aegub. Kui see pole määratud, on küpsis sessiooni ja kustutatakse brauseri sulgemisel. Kuupäeva formaat - RFC 1123.Max-Age=<sekundid>: küpsise eluea maksimaalne aeg sekundites. On prioriteetExpiresees.Domain=<domeen>: domeen, mille jaoks küpsis on saadaval. Tavaliselt - praegune domeen (aga mitte alamdomeenid).Path=<tee>: tee serveris, mille jaoks küpsis on saadaval. Tavaliselt - juurtee/.Secure: märk, mis näitab, et küpsis peab saatma ainult HTTPS-i kaudu.HttpOnly: märk, mis näitab, et küpsis ei ole JavaScriptidocument.cookiekaudu kättesaadav. Kaitseb XSS rünnakute eest.SameSite=<režiim>: kontrollib küpsise saatmist ristveebipäringutes. Võimalikud väärtused:Strict,Lax(vaikimisi),None.
-
JavaScripti kasutamine kliendi poolel.
document.cookieobjektiga saab lugeda, kirjutada ja kustutada küpsiseid.Küpsise kirjutamine:
// Lihtsa küpsise seadistamine document.cookie = "username=johndoe"; // Küpsise seadistamine koos expires, path, secure ja SameSite=Lax const expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30 päeva document.cookie = `token=abcdef123456; expires=${expiryDate.toUTCString()}; path=/; secure; SameSite=Lax`;Küpsise lugemine:
// document.cookie tagastab kõigi saadaolevate küpsiste stringi kujul "key1=value1; key2=value2; ..." console.log(document.cookie);Küpsise kustutamine: Küpsise kustutamiseks tuleb see määrata vananenud kuupäevaga.
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; // määrata expires minevikkuOluline on kustutamisel märkida samad
pathjadomainparameetrid (kui need olid määratud), nagu ka loomisel.SameSiteväärtus peab samuti sobima, et kustutamine oleks korrektne. -
Kolmanda osapooga JavaScripti teekide kasutamine. On teeke, mis lihtsustavad küpsistega töötamist (näiteks
js-cookie). Need pakuvad mugavamat API-d küpsiste seadistamiseks, saamiseks ja kustutamiseks.Näide
js-cookie-ga:// Teegi lisamine // <script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script> // Küpsise seadistamine Cookies.set('username', 'johndoe'); // Küpsise seadistamine valikutega Cookies.set('token', 'abcdef123456', { expires: 30, path: '/', secure: true, sameSite: 'Lax' }); // expires päevades // Küpsise saamine const username = Cookies.get('username'); // Tagastab 'johndoe' või undefined const allCookies = Cookies.get(); // Tagastab objekti kõigi küpsistega // Küpsise kustutamine Cookies.remove('username'); Cookies.remove('token', { path: '/' }); // Määrata tee, kui see oli määratud