Semua panduan
Tingkat TinggiKeamanan Cookie

Flag cookie Secure, HttpOnly, dan SameSite

Cookie sesi adalah target utama. Tiga atribut — Secure, HttpOnly, dan SameSite — menentukan apakah penyerang bisa mencuri atau menyalahgunakannya. Flag yang hilang langsung berujung pada session hijacking dan CSRF.

Apa itu

Secure mengirim cookie hanya lewat HTTPS. HttpOnly menyembunyikannya dari JavaScript (document.cookie). SameSite mengatur apakah cookie dikirim pada request lintas-situs.

Bersama-sama ketiganya mengecilkan permukaan serangan: penyerang tidak bisa membaca cookie lewat script yang disisipkan, tidak bisa menyadapnya lewat HTTP, dan tidak bisa menumpanginya dari situs lain.

Kenapa penting

Tanpa HttpOnly, bug XSS apa pun bisa membaca cookie sesi dan menyerahkan sesi yang sedang login ke penyerang. Tanpa Secure, cookie bocor lewat request HTTP biasa apa pun.

Tanpa SameSite, browser melampirkan cookie ke request lintas-situs, dan itulah mekanisme yang diandalkan serangan CSRF.

Cara memperbaiki

Set ketiganya pada cookie sesi

Kebanyakan framework menyediakan ini sebagai opsi saat kamu menyetel cookie.

res.cookie("session", token, {
  secure: true,
  httpOnly: true,
  sameSite: "lax", // or "strict" for maximum protection
  path: "/",
});
Gunakan prefiks nama cookie

Menamai cookie __Host- memaksa browser mewajibkan Secure, Path=/, dan tanpa Domain — baseline yang kuat dan menegakkan dirinya sendiri untuk cookie sesi.

Ingat SameSite=None butuh Secure

Kalau kamu benar-benar butuh cookie lintas-situs, SameSite=None hanya dihormati jika Secure juga disetel; kalau tidak, browser modern akan membuang cookie-nya.

FAQ

Lax atau Strict untuk SameSite?

Lax adalah default aman yang tetap mengizinkan navigasi tingkat atas. Strict lebih ketat tapi bisa merusak alur di mana pengguna datang dari tautan eksternal sambil berharap tetap login.

Apakah flag ini menghentikan XSS?

HttpOnly membatasi dampak XSS dengan menyembunyikan cookie, tapi tidak mencegah XSS. Padukan dengan Content-Security-Policy yang kuat.

Apakah aplikasimu terpengaruh?

AppSafe memeriksa ini dan puluhan masalah lain dalam satu pemindaian gratis.

Pindai aplikasiku gratis