Brauzerda cookie qanday o'rnatiladi?
sobes.tech AI
AIdan javob
Brauzerda cookie o'rnatishning bir nechta usullari mavjud.
-
Serverdan
Set-CookieHTTP sarlavhasi orqali. Bu cookie o'rnatishning asosiy usuli bo'lib, u server tomonida amalga oshiriladi. Server brauzergaSet-Cookiesarlavhasini yuboradi, bu brauzerga ma'lum bir kalit-qiymat juftligini saqlashni ko'rsatadi.Serverdan HTTP javobining misoli:
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-Cookiesarlavha parametrlari:name=value: Cookie nomi va qiymati. Majburiy parametr.Expires=<date>: Cookie ning amal qilish muddati. Ko'rsatilmagan bo'lsa, cookie sessiya cookie bo'lib, brauzer yopilganda o'chiriladi. Sana formati - RFC 1123.Max-Age=<seconds>: Cookie ning maksimal yashash vaqti sekundlarda.Expiresustun keladi.Domain=<domain>: Cookie uchun mavjud bo'lgan domen. Standart - joriy domen (lekin subdomenlar emas).Path=<path>: Serverdagi cookie uchun mavjud bo'lgan yo'l. Standart - ildiz yo'l/.Secure: Cookie faqat HTTPS orqali yuborilishi kerakligini ko'rsatadigan flag.HttpOnly: Cookie JavaScript orqalidocument.cookieyordamida kirish mumkin emasligini ko'rsatadigan flag. XSS hujumlardan himoya qiladi.SameSite=<mode>: Cookie ning cross-site so'rovlar bilan yuborilishini boshqaradi. Mümkin bo'lgan qiymatlar:Strict,Lax(standart),None.
-
Client tomonida JavaScript yordamida.
document.cookieobyekti yordamida cookie o'qish, yozish va o'chirish mumkin.Cookie yozish:
// Oddiy cookie o'rnatish document.cookie = "username=johndoe"; // expires, path, secure va SameSite=Lax bilan cookie o'rnatish const expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30 kun document.cookie = `token=abcdef123456; expires=${expiryDate.toUTCString()}; path=/; secure; SameSite=Lax`;Cookie o'qish:
// document.cookie barcha mavjud cookie-larni "key1=value1; key2=value2; ..." formatida qaytaradi console.log(document.cookie);Cookie o'chirish: Cookie o'chirish uchun, uni o'tgan sana bilan o'rnatish kerak.
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; // expires ni o'tgan sana qilib o'rnatishO'chirishda,
pathvadomainparametrlarini ham ko'rsatish muhim (agar o'rnatilgan bo'lsa).SameSiteham mos kelishi kerak, to'g'ri o'chirish uchun. -
Uchinchi tomon JavaScript kutubxonalari yordamida. Cookie bilan ishlashni soddalashtiradigan kutubxonalar mavjud (masalan,
js-cookie). Ular cookie o'rnatish, olish va o'chirish uchun qulay API taqdim etadi.js-cookiebilan misol:// Kutubxonani qo'shish // <script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script> // Cookie o'rnatish Cookies.set('username', 'johndoe'); // Tanlangan opsiyalar bilan cookie o'rnatish Cookies.set('token', 'abcdef123456', { expires: 30, path: '/', secure: true, sameSite: 'Lax' }); // expires kunlarda // Cookie o'qish const username = Cookies.get('username'); // 'johndoe' yoki undefined const allCookies = Cookies.get(); // Barcha cookie-larni obyekt sifatida qaytaradi // Cookie o'chirish Cookies.remove('username'); Cookies.remove('token', { path: '/' }); // O'rnatilgan joyni ko'rsatish