Brauzerdə kuki necə qurulur?
sobes.tech Süni İntellekt
AI-dan cavab
Brauzerdə kuki qurmaq üçün bir neçə üsul mövcuddur.
-
Serverdən
Set-CookieHTTP başlığı vasitəsilə. Bu, kukinin qurulması üçün əsas üsuldur və server tərəfində həyata keçirilir. Server brauzerəSet-Cookiebaşlığı göndərir, bu da brauzerin müəyyən açar-dəyər cütlüyünü yadda saxlamasını təmin edir.Serverdən HTTP cavab nümunəsi:
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-Cookiebaşlığının parametrləri:name=value: Kukinin adı və dəyəri. Zəruri parametr.Expires=<tarix>: Kukinin bitmə tarixi və vaxtı. Əgər göstərilməzsə, kuki sessiya kukisi olur və brauzer bağlandıqda silinir. Tarix formatı RFC 1123.Max-Age=<saniyə>: Kukinin maksimum ömrü saniyə ilə.Expiresüzərində prioritetə malikdir.Domain=<domen>: Kukinin əlçatan olduğu domen. Əsasən cari domen, alt domenlər daxil deyil.Path=<yol>: Serverdə kukinin əlçatan olduğu yol. Əsasən kök yol/.Secure: Bayraq, kukinin yalnız HTTPS vasitəsilə göndərilməsini təmin edir.HttpOnly: Bayraq, kukinin JavaScript vasitəsilədocument.cookieilə əlçatan olmamasını təmin edir. XSS hücumlarından qorunma.SameSite=<mode>: Kukinin kross-sayt sorğularında göndərilməsini idarə edir. Dəyərlər:Strict,Lax(standart),None.
-
İstifadəçi tərəfində JavaScript vasitəsilə.
document.cookieobyekti vasitəsilə kukiləri oxumaq, yazmaq və silmək mümkündür.Kukinin yazılması:
// Sadə kuki qurulması document.cookie = "username=johndoe"; // Expires, path, secure və SameSite=Lax ilə kuki qurulması const expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30 gün document.cookie = `token=abcdef123456; expires=${expiryDate.toUTCString()}; path=/; secure; SameSite=Lax`;Kuki oxumaq:
// document.cookie bütün əlçatan kukilərin "açar=dəyər" formatında sətirini qaytarır console.log(document.cookie);Kukini silmək: Kukini silmək üçün onun bitmə tarixini keçmişə təyin etmək lazımdır.
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; // expires keçmişə təyin edilirSilərkən
pathvədomainparametrlərini dəqiq göstərmək vacibdir, çünki onlar kuki yaradılarkən istifadə olunubsa, eyni olmalıdır.SameSitedə uyğun olmalıdır. -
Xarici JavaScript kitabxanaları vasitəsilə. Kuki ilə işləmək üçün asanlaşdıran kitabxanalar mövcuddur (məsələn,
js-cookie). Bu kitabxanalar kukilərin qurulması, alınması və silinməsi üçün daha rahat API təqdim edir.js-cookieilə nümunə:// Kitabxananı daxil etmək // <script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script> // Kukinin qurulması Cookies.set('username', 'johndoe'); // Kukinin qurulması və seçimlər Cookies.set('token', 'abcdef123456', { expires: 30, path: '/', secure: true, sameSite: 'Lax' }); // expires günlərlə // Kukini oxumaq const username = Cookies.get('username'); // 'johndoe' və ya undefined const allCookies = Cookies.get(); // bütün kukiləri obyekt kimi qaytarır // Kukini silmək Cookies.remove('username'); Cookies.remove('token', { path: '/' }); // qurularkən istifadə olunubsa, path göstərmək lazımdır