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:

html
<form method="POST" action="/update-data">
<input type="hidden" name="csrf_token" value="abcd1234xyz">
<input type="text" name="nama">
<button type="submit">Kirim</button>
</form>

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:

  1. Token sama untuk semua form atau semua pengguna
    👉 Penyerang bisa menebak atau mengambil token.

  2. Token tidak diperiksa di server
    👉 Ada form yang punya token, tapi server tidak mengeceknya. Jadi tokennya percuma.

  3. Token disimpan di tempat yang mudah dicuri (seperti localStorage)
    👉 Bisa diambil lewat serangan XSS (Cross-Site Scripting).

  4. 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