Kalau kamu sering dengar tentang keamanan website, pasti pernah ketemu istilah Token Anti-CSRF. Banyak orang bilang, token ini adalah senjata ampuh untuk melawan serangan CSRF.
Tapi… apakah benar seampuh itu? Atau jangan-jangan, cuma terlihat aman, padahal sebenarnya tidak melindungi apa-apa?
Yuk, kita bahas!
🔍 Apa Itu Token Anti‑CSRF?
Token Anti-CSRF (biasa disebut CSRF Token) adalah kode unik yang dikirim bersama form di website. Token ini berguna untuk memastikan bahwa permintaan memang datang dari pengguna yang sah, bukan dari penyerang.
Contohnya:
Ketika form ini dikirim, server akan memeriksa token. Kalau tokennya cocok, maka data diproses. Kalau tidak cocok, permintaan akan ditolak.
💣 Kenapa Token Ini Dibutuhkan?
Serangan CSRF terjadi karena browser secara otomatis mengirim cookie login, walaupun permintaan datang dari situs jahat.
Token ini menjadi “pertanyaan rahasia” yang harus dijawab dengan benar. Karena penyerang tidak bisa menebak token, maka dia tidak bisa membuat permintaan jahat yang berhasil.
⚠️ Tapi… Apakah Token Selalu Ampuh?
Jawabannya: Tergantung cara penggunaannya.
Token Anti-CSRF bisa jadi obat manjur, tapi kalau digunakan asal-asalan, token ini jadi seperti plasebo (obat pura-pura yang tidak ada efeknya).
Contoh kesalahan umum:
-
Token sama untuk semua form atau semua pengguna
👉 Penyerang bisa menebak atau mengambil token. -
Token tidak diperiksa di server
👉 Ada form yang punya token, tapi server tidak mengeceknya. Jadi tokennya percuma. -
Token disimpan di tempat yang mudah dicuri (seperti localStorage)
👉 Bisa diambil lewat serangan XSS (Cross-Site Scripting). -
Token dikirim lewat URL (GET)
👉 Token bisa terekam di log server atau dibagikan tanpa sengaja.
✅ Ciri Token Anti‑CSRF yang Baik
Agar token benar-benar berfungsi sebagai “obat manjur”, berikut syaratnya:
Ciri-ciri Token yang Benar | Kenapa Penting |
---|---|
Unik untuk setiap sesi atau form | Supaya tidak mudah ditebak |
Hanya dikirim lewat metode POST | Supaya tidak muncul di URL |
Divalidasi di server | Untuk memastikan keasliannya |
Tidak bisa diakses oleh JavaScript | Supaya aman dari serangan XSS |
Berumur pendek (expire) | Untuk keamanan tambahan |
🛡️ Alternatif dan Pelengkap
Selain token, kamu juga bisa pakai:
-
SameSite Cookie: Membatasi pengiriman cookie dari luar domain.
-
Header Referer/Origin: Mengecek asal permintaan.
-
Double Submit Cookie: Token dikirim di form dan disimpan di cookie, lalu dibandingkan.
Dan tentu saja: hindari GET untuk aksi penting!
🧾 Kesimpulan
Jadi, apakah Token Anti-CSRF itu obat manjur atau cuma plasebo?
✅ Manjur, jika:
-
Digunakan dengan benar
-
Diperiksa di server
-
Disimpan dan dikirim dengan aman
❌ Plasebo, jika:
-
Hanya ditempel di form tapi tidak dicek
-
Tidak unik atau mudah ditebak
-
Disimpan sembarangan
Penulis : Muhammad Aditya Alkhawarizmi
Nim : 23156201023
Jurusan : Sistem Komputer