CSRF (Cross-Site Request Forgery) sudah lama jadi ancaman serius bagi website dan pengguna. Tapi sekarang ada pahlawan baru dalam dunia keamanan web: SameSite Cookie.
Apakah benar SameSite bisa jadi pelindung utama dari serangan CSRF? Atau hanya pelengkap saja? Yuk, kita bahas!
🍪 Apa Itu Cookie?
Sebelum ke SameSite, kita perlu tahu dulu apa itu cookie.
Cookie adalah file kecil yang disimpan di browser. Biasanya digunakan untuk:
-
Menyimpan informasi login (session)
-
Mengingat preferensi pengguna
-
Melacak aktivitas (seperti keranjang belanja)
Contoh: Saat kamu login ke situs bank, browser menyimpan cookie agar kamu tidak perlu login ulang saat pindah halaman.
💣 Hubungan Cookie dan CSRF
Masalahnya, browser secara otomatis mengirim cookie ke server, setiap kali ada permintaan ke domain itu—termasuk saat kamu klik link dari situs lain.
Inilah celah yang dimanfaatkan dalam serangan CSRF: penyerang membuat browser kamu mengirim permintaan (seperti transfer uang), dan browser ikut mengirim cookie login ke situs target.
🦸♂️ Masuklah: SameSite Cookie!
SameSite adalah aturan tambahan pada cookie yang mengontrol kapan cookie boleh dikirim oleh browser.
SameSite punya 3 nilai utama:
-
✅
SameSite=Strict
Cookie hanya dikirim jika permintaan berasal dari domain yang sama.
➤ Paling aman, tapi bisa mengganggu pengalaman pengguna. -
🔒
SameSite=Lax
Cookie dikirim hanya untuk permintaan GET biasa (misalnya buka link), tapi tidak untuk form POST.
➤ Cukup aman, cocok untuk sebagian besar website. -
❌
SameSite=None
Cookie boleh dikirim lintas situs, tapi harus disertaiSecure
(HTTPS).
➤ Digunakan untuk kasus khusus, tapi tidak aman terhadap CSRF kalau tidak hati-hati.
🧠 Cara SameSite Melindungi dari CSRF
Dengan SameSite, browser jadi lebih pintar:
-
Jika kamu membuka situs penyerang yang mencoba mengirim form ke situs bank, browser tidak akan mengirim cookie login.
-
Karena tidak ada cookie, permintaan ditolak oleh server, dan serangan CSRF gagal.
🛠️ Cara Developer Mengaktifkannya
Cukup atur cookie seperti ini:
Atau jika pakai PHP:
⚠️ Catatan Penting
-
SameSite itu pelindung tambahan, bukan pengganti CSRF Token.
-
Beberapa fitur login pihak ketiga (seperti Google Login) butuh
SameSite=None
. -
Tidak semua browser lama mengenali
SameSite
(tapi sekarang mayoritas sudah mendukung).
✅ Kesimpulan
“SameSite” Cookie adalah alat yang sangat berguna untuk mencegah serangan CSRF, karena mengatur kapan cookie boleh dikirim. Tapi ingat:
-
Gunakan SameSite=Strict jika memungkinkan.
-
Untuk pengalaman pengguna yang seimbang, SameSite=Lax sudah cukup aman.
-
Jangan lupakan perlindungan lain seperti CSRF Token dan cek header Origin.
Jadi, apakah SameSite Cookie adalah pahlawan?
Ya, jika digunakan dengan tepat. 💪
Penulias : Muhammad Aditya Alkhawarizmi
Nim : 23156201023
jurusan : Sistem Komputer