Bosh sahifa Wiki Cookie

Cookie

Cookie — web brauzerda saqlanadigan kichik ma’lumot bo‘lagi. Cookie sayt yoki web ilova tomonidan foydalanuvchi qurilmasiga yoziladi va keyingi so‘rovlarda serverga qayta yuborilishi mumkin.

Cookie foydalanuvchi login holatini saqlash, session ID uzatish, til tanlovi, tema sozlamasi, savatcha ma’lumotlari va tracking kabi vazifalarda ishlatiladi.

Vazifasi

Cookie web ilovaga foydalanuvchi yoki brauzer holatini eslab qolishga yordam beradi.

Cookie quyidagi vazifalarda ishlatiladi:

  • session ID saqlash;
  • login holatini davom ettirish;
  • “remember me” funksiyasini ishlatish;
  • til tanlovini saqlash;
  • dark mode yoki light mode sozlamasini saqlash;
  • savatcha ma’lumotlarini saqlash;
  • CSRF token bilan ishlash;
  • analytics va tracking;
  • reklama va marketing identifikatorlari;
  • foydalanuvchi preferensiyalarini saqlash.

Masalan, foydalanuvchi saytga login qilganda server session ID yaratadi va uni cookie orqali brauzerga yuboradi.

Server HTTP javobida brauzerga cookie yuboradi. Brauzer cookie’ni saqlaydi va keyingi mos so‘rovlarda uni serverga qayta yuboradi.

Oddiy jarayon:

  • foydalanuvchi saytga kiradi;
  • server HTTP response ichida cookie yuboradi;
  • brauzer cookie’ni saqlaydi;
  • foydalanuvchi shu saytga yana so‘rov yuboradi;
  • brauzer cookie’ni request bilan birga serverga yuboradi;
  • server cookie orqali foydalanuvchi yoki sessionni aniqlaydi.

Cookie domain, path, muddat va xavfsizlik flaglari asosida boshqariladi.

HTTP cookie server va brauzer o‘rtasida HTTP headerlar orqali almashiladi.

Cookie yuborishda server odatda Set-Cookie headeridan foydalanadi.

Misol:

Set-Cookie: sessionid=abc123; Path=/; HttpOnly; Secure

Keyingi requestlarda brauzer cookie’ni Cookie headeri orqali yuboradi.

Misol:

Cookie: sessionid=abc123

Bu jarayon avtomatik bajariladi.

Cookie odatda nom va qiymatdan iborat bo‘ladi. Bundan tashqari qo‘shimcha atributlar ham bo‘lishi mumkin.

Cookie tarkibida quyidagilar uchraydi:

  • cookie nomi;
  • cookie qiymati;
  • domain;
  • path;
  • expiration muddati;
  • Secure flag;
  • HttpOnly flag;
  • SameSite sozlamasi.

Masalan:

theme=dark

Bu yerda theme cookie nomi, dark esa uning qiymati hisoblanadi.

Name va value

Cookie asosiy ko‘rinishda name=value shaklida yoziladi.

Misollar:

  • sessionid=abc123;
  • theme=dark;
  • language=uz;
  • cart_id=789;
  • remember=true.

Cookie qiymati kichik matnli ma’lumot bo‘ladi. Katta hajmdagi ma’lumotlarni cookie’da saqlash odatda ishlatilmaydi.

Domain

Domain cookie qaysi domen uchun amal qilishini bildiradi.

Masalan:

Domain=example.com

Bu cookie example.com domeni va ayrim holatlarda uning subdomainlari uchun yuborilishi mumkin.

Domain noto‘g‘ri sozlansa, cookie kerakli so‘rovlarda yuborilmasligi yoki keraksiz subdomainlarga ham yuborilishi mumkin.

Path

Path cookie qaysi URL yo‘llari uchun yuborilishini bildiradi.

Masalan:

Path=/admin

Bu cookie faqat /admin va uning ichki yo‘llariga yuboriladi.

Keng ishlatiladigan qiymat:

Path=/

Bu cookie saytning barcha yo‘llari uchun amal qilishini bildiradi.

Expiration

Cookie muddati ikki asosiy usulda belgilanadi.

  • Expires — cookie qaysi aniq vaqtda tugashini bildiradi;
  • Max-Age — cookie necha soniyadan keyin tugashini bildiradi.

Agar muddat belgilanmasa, cookie odatda session cookie sifatida ishlaydi va brauzer yopilganda o‘chishi mumkin.

Session cookie — brauzer sessiyasi davomida saqlanadigan cookie. U odatda aniq uzoq muddatga ega bo‘lmaydi.

Session cookie quyidagi holatlarda ishlatiladi:

  • vaqtinchalik login holati;
  • session ID;
  • vaqtinchalik savatcha;
  • formani davom ettirish;
  • CSRF token.

Brauzer yopilganda session cookie o‘chishi mumkin.

Persistent cookie — belgilangan muddatgacha saqlanib turadigan cookie. U brauzer yopilgandan keyin ham qolishi mumkin.

Persistent cookie quyidagilar uchun ishlatiladi:

  • “remember me” funksiyasi;
  • til tanlovi;
  • tema sozlamasi;
  • marketing identifikatori;
  • uzoq muddatli foydalanuvchi preferensiyasi.

Persistent cookie expiration yoki max-age qiymatiga ega bo‘ladi.

Secure flag

Secure flag cookie faqat HTTPS orqali yuborilishini bildiradi. Bu flag cookie HTTP orqali ochiqroq uzatilishining oldini oladi.

Secure flag quyidagi cookie’larda muhim:

HTTPS ishlatiladigan web ilovalarda authentication cookie’lari ko‘pincha Secure flag bilan sozlanadi.

HttpOnly flag

HttpOnly flag cookie’ni JavaScript orqali o‘qib bo‘lmasligini bildiradi. Bu XSS hujumlarida cookie qiymatini o‘g‘irlash xavfini kamaytiradi.

HttpOnly cookie:

  • JavaScript document.cookie orqali o‘qilmaydi;
  • brauzer tomonidan serverga yuboriladi;
  • session ID yoki token saqlashda ishlatiladi;
  • client scriptlardan yashiriladi.

Authentication session cookie’lari ko‘pincha HttpOnly qilib sozlanadi.

SameSite

SameSite cookie cross-site so‘rovlarda qanday yuborilishini boshqaradigan atribut.

SameSite qiymatlari:

  • Strict — cookie faqat shu sayt ichidagi so‘rovlarda yuboriladi;
  • Lax — asosiy navigatsiya holatlarida cheklangan tarzda yuboriladi;
  • None — cross-site so‘rovlarda ham yuborilishi mumkin, odatda Secure bilan birga ishlatiladi.

SameSite CSRF hujumlari xavfini kamaytirishda muhim rol o‘ynaydi.

Session tizimlarida cookie ko‘pincha session ID saqlash uchun ishlatiladi. Server session ma’lumotlarini o‘zida saqlaydi, brauzerda esa faqat session ID bo‘ladi.

Jarayon:

Cookie sessionning brauzer tomondagi identifikatori sifatida ishlaydi.

Cookie token saqlash uchun ham ishlatilishi mumkin. Masalan, access token yoki refresh token cookie’da saqlanishi mumkin.

Token cookie’da saqlanganda quyidagilar muhim:

Cookie ichida token saqlash SPA, server-rendered ilova va API authentication tizimlarida uchraydi.

Cookie va localStorage ikkalasi ham brauzerda ma’lumot saqlaydi, lekin ishlash usuli farq qiladi.

  • Cookie serverga avtomatik yuborilishi mumkin;
  • localStorage serverga avtomatik yuborilmaydi;
  • Cookie hajmi kichikroq bo‘ladi;
  • localStorage ko‘proq ma’lumot saqlashi mumkin;
  • Cookie HttpOnly va Secure flaglarga ega bo‘lishi mumkin;
  • localStorage JavaScript orqali o‘qiladi va yoziladi.

Authentication ma’lumotlarini saqlashda cookie va localStorage tanlovi xavfsizlik modeliga bog‘liq bo‘ladi.

First-party cookie — foydalanuvchi bevosita ochgan sayt tomonidan o‘rnatilgan cookie.

Masalan, foydalanuvchi example.com saytiga kirsa va shu sayt cookie o‘rnatsa, bu first-party cookie hisoblanadi.

First-party cookie quyidagilar uchun ishlatiladi:

  • login holati;
  • session;
  • til tanlovi;
  • savatcha;
  • tema sozlamasi;
  • sayt ichki analytics ma’lumotlari.

Third-party cookie — foydalanuvchi ochgan sayt emas, balki boshqa domen tomonidan o‘rnatilgan cookie.

Third-party cookie quyidagi joylarda uchrashi mumkin:

  • reklama tarmoqlari;
  • tracking xizmatlari;
  • analytics platformalari;
  • embedded iframe;
  • tashqi widgetlar;
  • social media pluginlar.

Third-party cookie maxfiylik va tracking bilan bog‘liq muhokamalarda ko‘p uchraydi.

Cookie consent — sayt foydalanuvchidan cookie ishlatish bo‘yicha rozilik oladigan mexanizm. Bu asosan maxfiylik siyosati va qonuniy talablar bilan bog‘liq.

Cookie consent oynasida quyidagilar bo‘lishi mumkin:

  • zarur cookie’lar;
  • analytics cookie’lar;
  • marketing cookie’lar;
  • personalizatsiya cookie’lari;
  • ruxsat berish yoki rad etish tugmalari;
  • cookie siyosati havolasi.

Zarur cookie’lar sayt ishlashi uchun kerak bo‘lishi mumkin, marketing cookie’lar esa alohida rozilik talab qilishi mumkin.

Necessary cookie — saytning asosiy ishlashi uchun kerak bo‘ladigan cookie.

Necessary cookie misollari:

  • session ID;
  • CSRF token;
  • savatcha identifikatori;
  • login holati;
  • xavfsizlik cookie’lari;
  • cookie consent holati.

Bunday cookie’lar saytning texnik ishlashi bilan bog‘liq bo‘ladi.

Analytics cookie — foydalanuvchi sayt bilan qanday ishlayotganini tahlil qilish uchun ishlatiladigan cookie.

Analytics cookie quyidagi ma’lumotlarga yordam beradi:

  • tashriflar soni;
  • sahifa ko‘rishlar;
  • foydalanuvchi oqimi;
  • trafik manbasi;
  • qurilma turi;
  • sessiya davomiyligi.

Analytics cookie sayt ishlashini o‘lchash va statistikani tushunishda ishlatiladi.

Marketing cookie — reklama va foydalanuvchi qiziqishlarini kuzatish uchun ishlatiladigan cookie.

Marketing cookie quyidagi holatlarda ishlatiladi:

  • reklamani moslashtirish;
  • retargeting;
  • kampaniya samaradorligini o‘lchash;
  • foydalanuvchi segmentatsiyasi;
  • tashqi reklama tarmoqlari bilan ishlash.

Marketing cookie maxfiylik siyosati va foydalanuvchi roziligi bilan bog‘liq bo‘lishi mumkin.

CSRF token cookie session-based authentication tizimlarida CSRF hujumlaridan himoyalanish uchun ishlatilishi mumkin.

CSRF cookie jarayonida:

  • server token yaratadi;
  • token cookie yoki sahifa ichida beriladi;
  • frontend muhim so‘rovda tokenni yuboradi;
  • server tokenni tekshiradi;
  • noto‘g‘ri tokenli so‘rov rad etiladi.

Bu mexanizm foydalanuvchi nomidan ruxsatsiz so‘rov yuborish xavfini kamaytiradi.

Cookie cross-origin API so‘rovlarda ishlatilganda CORS sozlamalari muhim bo‘ladi. Brauzer cookie’ni boshqa origin so‘rovlariga har doim ham yubormaydi.

Cookie bilan CORS ishlaganda quyidagilar muhim:

  • credentials sozlamasi;
  • Access-Control-Allow-Credentials;
  • Access-Control-Allow-Origin;
  • SameSite qiymati;
  • Secure flag;
  • domen va subdomain mosligi.

Masalan, frontend app.example.com, API esa api.example.com da bo‘lsa, cookie sozlamalari to‘g‘ri bo‘lishi kerak.

XSS hujumi sahifada zararli JavaScript ishlashiga olib kelishi mumkin. Agar cookie HttpOnly bo‘lmasa, zararli script cookie qiymatini o‘qishga urinishi mumkin.

XSS bilan bog‘liq cookie xavflari:

  • session cookie o‘g‘irlanishi;
  • token o‘qilishi;
  • foydalanuvchi nomidan so‘rov yuborilishi;
  • authentication holatidan foydalanish;
  • cookie orqali identifikator olish.

HttpOnly flag cookie o‘qilishini cheklaydi, lekin XSS’ning barcha xavflarini to‘liq bartaraf qilmaydi.

Cookie serverga avtomatik yuborilgani uchun session-based authentication tizimlarida CSRF xavfi bo‘lishi mumkin.

CSRF bilan bog‘liq himoya usullari:

Cookie asosidagi login tizimlarida CSRF himoyasi muhim hisoblanadi.

Cookie server yoki browser orqali o‘chirilishi mumkin. Server cookie’ni o‘chirish uchun uning muddatini o‘tgan vaqtga sozlab yuboradi.

Cookie o‘chiriladigan holatlar:

  • logout;
  • session tugashi;
  • foydalanuvchi cookie’ni rad etishi;
  • browser ma’lumotlarini tozalash;
  • account xavfsizlik hodisasi;
  • cookie consent o‘zgarishi.

Logout jarayonida session cookie odatda o‘chiriladi yoki serverdagi session yaroqsiz qilinadi.

Cookie kichik hajmdagi ma’lumotlar uchun mo‘ljallangan. Juda katta ma’lumot cookie’da saqlansa, har bir request hajmi oshadi.

Cookie hajmiga ta’sir qiladigan holatlar:

  • token uzunligi;
  • ko‘p cookie ishlatish;
  • tracking qiymatlari;
  • murakkab sozlama ma’lumotlari;
  • noto‘g‘ri saqlangan JSON.

Cookie har bir mos HTTP so‘rov bilan yuborilgani uchun unda katta ma’lumot saqlash web performancega ta’sir qilishi mumkin.

Foydalanuvchi browser sozlamalari yoki developer tools orqali cookie’larni ko‘rishi, o‘chirishi yoki bloklashi mumkin.

Browserda cookie bilan bog‘liq imkoniyatlar:

  • sayt cookie’larini ko‘rish;
  • cookie qiymatlarini o‘chirish;
  • third-party cookie’larni bloklash;
  • barcha browsing data’ni tozalash;
  • cookie permission sozlash;
  • developer tools orqali cookie tahlil qilish.

Brauzerlar cookie maxfiyligi va xavfsizlik sozlamalarini doimiy rivojlantirib boradi.

Frontenddagi o‘rni

Frontend cookie orqali foydalanuvchi holati, sozlamalari yoki authentication jarayonlari bilan ishlashi mumkin.

Frontendda cookie quyidagi joylarda uchraydi:

  • login holati;
  • til tanlovi;
  • tema sozlamasi;
  • cookie consent;
  • savatcha identifikatori;
  • CSRF token;
  • API so‘rovlarda credential yuborish.

JavaScript orqali faqat HttpOnly bo‘lmagan cookie’larni o‘qish va yozish mumkin.

Backenddagi o‘rni

Backend cookie yaratadi, o‘qiydi, yangilaydi va o‘chiradi. Authentication va session tizimlarida backend cookie bilan bevosita ishlaydi.

Backend cookie orqali quyidagilarni bajaradi:

  • session ID yuborish;
  • cookie flaglarini sozlash;
  • CSRF token berish;
  • logoutda cookie o‘chirish;
  • cookie domain va path belgilash;
  • cookie muddati boshqarish;
  • foydalanuvchi requestini session bilan bog‘lash.

Backend cookie xavfsizligi uchun Secure, HttpOnly va SameSite sozlamalarini to‘g‘ri qo‘llaydi.

Dasturlashdagi o‘rni

Cookie web dasturlashda foydalanuvchi holatini saqlash, session boshqarish va brauzer-server aloqasini davomiy qilish uchun ishlatiladigan muhim mexanizmdir.

Cookie quyidagi loyihalarda uchraydi:

  • web saytlar;
  • admin panellar;
  • internet do‘konlar;
  • SaaS platformalar;
  • CRM tizimlar;
  • blog platformalar;
  • analytics tizimlari;
  • authentication tizimlari;
  • server-rendered ilovalar;
  • frontend va backend API aloqalari.

Cookie HTTP asosidagi web tizimlarda foydalanuvchi, session va sozlamalarni brauzer bilan bog‘lash uchun ishlatiladi.

Bog‘liq tushunchalar

Session, Authentication, Authorization, CSRF, XSS, Browser, HTTP, HTTPS, Token, JWT, Frontend, Backend