Tujuan artikel ini: menjelaskan CSRF (Cross‑Site Request Forgery) dengan bahasa sederhana, memisahkan mitos dari fakta, danr? menunjukkan apa yang benar‑benar terjadi di balik layar browser kita.


1️⃣ Mitos: “CSRF sama dengan hacking super rumit.”

Fakta:
CSRF justru serangan yang sangat sederhana. Penyerang hanya butuh satu hal: kamu masih login di situs target. Setelah itu, dia bisa menyelipkan gambar, form, atau link berbahaya yang memaksa browser‑mu mengirim permintaan ke situs tersebut.

Di balik layar: Browser selalu “rajin” mengirim cookie login tanpa menanya dulu, selama permintaan menuju domain yang sama. Penyerang memanfaatkan kerajinan ini.


2️⃣ Mitos: “Kalau pakai HTTPS, otomatis aman dari CSRF.”

Fakta:
HTTPS hanya mengenkripsi data saat dikirim, bukan mencegah browser mengirimnya. Kalau cookie login ikut terkirim lewat HTTPS, server tetap menganggap permintaan itu sah.

Di balik layar: Enkripsi HTTPS melindungi data dari penyadapan, bukan dari kesalahan tujuan (mis‑routing) yang dimanfaatkan CSRF.


3️⃣ Mitos: “Form pakai metode GET itu wajar kok, nggak bahaya.”

Fakta:
Metode GET sebaiknya untuk baca data saja. Kalau dipakai untuk aksi sensitif (hapus akun, transfer uang), URL‑nya bisa disisipkan di tag <img>, <a>, atau <script>—tempat favorit CSRF.

Di balik layar: Browser memuat gambar? Ia tetap jalankan URL itu, meski berisi perintah berbahaya, selama pakai GET.


4️⃣ Mitos: “CSRF cuma bisa terjadi di situs besar seperti bank.”

Fakta:
Selama situs punya fitur login, form, atau API yang mengubah data, dia rentan CSRF—baik blog pribadi, toko online, maupun portal sekolah.

Di balik layar: Skala tidak penting; yang penting ada cookie sesi. Penyerang menargetkan siapa saja, bahkan admin panel kecil.


5️⃣ Mitos: “Kalau sudah pakai token anti‑CSRF, 100 % aman.”

Fakta:
Token efektif asal diterapkan benar: token harus unik per sesi/form, diverifikasi server, dan tidak boleh terekspos lewat URL. Salah konfigurasi = celah baru.

Di balik layar: Banyak dev menaruh token di localStorage atau cache publik, lalu bisa dicuri lewat XSS. Token invalid? Server kadang lupa memeriksa!


6️⃣ Mitos: “JWT selalu kebal CSRF.”

Fakta:
JWT (JSON Web Token) memang tidak dikirim otomatis jika disimpan di localStorage, sehingga lebih aman dari CSRF. Namun, kalau JWT disimpan di cookie HttpOnly, ia tetap rentan dikirim otomatis → perlu perlindungan ekstra.

Di balik layar: CSRF bergantung pada auto‑send cookie. Simpan JWT di cookie, risiko kembali muncul.


7️⃣ Mitos: “Kalau user hati‑hati tidak klik link aneh, pasti selamat.”

Fakta:
Banyak CSRF tanpa klik: cukup buka halaman yang memuat konten berbahaya (iklan, gambar). Bahkan email yang autoload gambar bisa memicu CSRF.

Di balik layar: <img src="https://bank.com/transfer?ke=999&jumlah=1"> langsung dijalankan saat gambar dimuat, tanpa interaksi pengguna.


🔒 Cara Praktis Mencegah CSRF

  1. CSRF Token unik + diverifikasi server.

  2. SameSite Cookie (Lax/Strict) supaya cookie tak ikut permintaan lintas‑situs.

  3. POST/PUT/DELETE untuk aksi penting; hindari GET.

  4. Cek Referer/Origin Header di server.

  5. Framework modern (Laravel, Django, Spring) sudah punya proteksi—aktifkan!


✍️ Kesimpulan

  • CSRF itu sederhana tapi mematikan—cukup manfaatkan kebiasaan browser mengirim cookie.

  • Mitos‑mitos di atas sering membuat developer lengah.

  • Perlindungan harus berlapis: token, SameSite, metode HTTP tepat, dan validasi header.

  • Penulis : Muhammad Aditya Alkhawarizmi

  • Nim : 23156201023

  • Jurusan : Sistem Komputer