Aslu Nasab

cookie vs httpOnly cookie

April 8, 2026 · 1 min read

Cookies.set('token', token)
bu holatda oddiy odam yoki hacker shunchaki u odamni akkauntiga kirish uchun tokenni copy qiladi va o'zining kompyuterida cookie'da yoki localStorageda tokenni o'rniga o'sha boshqani akkaunti tokenini kiritsa va browserni refresh qilsa site uni avtamatik tarzda o'sha odam deb o'ylab platformaga kirgizadi, va hacker u odamni akkauntiga to'liq egalik qila oladi
Http cookie:
res.cookie("token", token, {
  httpOnly: true,
  secure: true,
  sameSite: "strict",
})
bu yerda eng katta farq — frontend bu tokenni ko‘ra olmaydi ham, o‘zgartira olmaydi ham
ya’ni:
  • document.cookie orqali o‘qib bo‘lmaydi
  • localStorage ga o‘xshab copy qilib bo'lmaydi
  • console orqali boshqa token qo‘yib “fake login” qilib bo'lmaydi
user login qiladi ➞ backend tokenni httpOnly cookie qilib yuboradi ➞ browser uni yashirin saqlaydi ➞ har requestda browser o‘zi avtomatik yuboradi
Frontend request:
fetch("/api/profile", {
  credentials: "include",
})
backend esa:
req.cookies.token