Kā iestatīt sīkdatnes pārlūkprogrammā?
sobes.tech AI
Atbilde no AI
Sīkdatņu iestatīšana pārlūkprogrammā ir iespējama vairākos veidos.
-
Per HTTP galveni
Set-Cookieserverī. Tas ir galvenais veids, kā iestatīt sīkfailu, kas notiek servera pusē. Serveris nosūta pārlūkprogrammai galveniSet-Cookie, kas instructrē pārlūku saglabāt noteiktu atslēgas-vertības pāri.Servera HTTP atbildes piemērs:
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-Cookiegalvenes parametri:name=value: sīkfaila nosaukums un vērtība. Obligāts parametrs.Expires=<datums>: datums un laiks, kad sīkfails beidzas. Ja nav norādīts, sīkfails ir sesijas un tiek dzēsts pārlūka aizvēršanas brīdī. Datuma formāts - RFC 1123.Max-Age=<sekundes>: sīkfaila derīguma laiks sekundēs. Ir prioritāte pārExpires.Domain=<domenas>: domēns, kuram sīkfails ir pieejams. Parasti - pašreizējais domēns (bet ne subdomeni).Path=<ceļš>: ceļš serverī, kuram sīkfails ir pieejams. Parasti - saknes ceļš/.Secure: zīme, kas norāda, ka sīkfails jānosūta tikai caur HTTPS.HttpOnly: zīme, kas norāda, ka sīkfails nav pieejams JavaScriptdocument.cookielīmenī. Aizsargā pret XSS uzbrukumiem.SameSite=< režīms>: pārvalda sīkfaila nosūtīšanu krustošajās pieprasījumos. Iespējamās vērtības:Strict,Lax(noklusējums),None.
-
Izmantojot JavaScript klienta pusē.
document.cookieobjekts ļauj lasīt, rakstīt un dzēst sīkfailus.Sīkfaila rakstīšana:
// Vienkārša sīkfaila iestatīšana document.cookie = "username=johndoe"; // Sīkfaila iestatīšana ar expires, path, secure un SameSite=Lax const expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30 dienas document.cookie = `token=abcdef123456; expires=${expiryDate.toUTCString()}; path=/; secure; SameSite=Lax`;Sīkfaila lasīšana:
// document.cookie atgriež visu pieejamo sīkfailu virkni "key1=value1; key2=value2; ..." console.log(document.cookie);Sīkfaila dzēšana: Lai dzēstu sīkfailu, to nepieciešams iestatīt ar beigu datumu pagātnē.
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; // Iestatīt expires pagātnēSvarīgi, dzēšanas laikā norādīt tos pašus
pathundomainparametrus (ja tie bija iestatīti), kā arīSameSitevērtību, lai dzēšana būtu korekta. -
Izmantojot trešo pušu JavaScript bibliotēkas. Pastāv bibliotēkas, kas atvieglo sīkfailu darbu (piemēram,
js-cookie). Tās nodrošina ērtāku API sīkfailu iestatīšanai, saņemšanai un dzēšanai.Piemērs ar
js-cookie:// Bibliotēkas pievienošana // <script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script> // Sīkfaila iestatīšana Cookies.set('username', 'johndoe'); // Sīkfaila iestatīšana ar opcijām Cookies.set('token', 'abcdef123456', { expires: 30, path: '/', secure: true, sameSite: 'Lax' }); // expires dienās // Sīkfaila saņemšana const username = Cookies.get('username'); // Atgriež 'johndoe' vai undefined const allCookies = Cookies.get(); // Atgriež objektu ar visiem sīkfailiem // Sīkfaila dzēšana Cookies.remove('username'); Cookies.remove('token', { path: '/' }); // Norādīt ceļu, ja tas bija iestatīts