Digital Transformation

CSRF (Cross-Site Request Forgery)

Vito Atmo
Vito Atmo·10 Juni 2026·0 kali dibaca·2 min baca

TL;DR: CSRF (Cross-Site Request Forgery) adalah serangan yang membonceng sesi login pengguna untuk mengirim aksi tanpa izin, misalnya mengubah email akun atau melakukan transfer. Karena browser otomatis menyertakan cookie sesi, situs bisa salah mengira permintaan itu sah. Pertahanan utamanya: token CSRF unik per sesi dan cookie dengan atribut SameSite.

Apa itu CSRF?

CSRF (Cross-Site Request Forgery) memanfaatkan satu fakta sederhana: browser otomatis mengirim cookie sesi ke situs yang sesuai, apa pun asal permintaannya. Jika pengguna sedang login di situs A, lalu membuka halaman jebakan di situs B, halaman itu bisa diam-diam memerintahkan browser mengirim permintaan ke situs A memakai sesi yang masih aktif.

Analoginya seperti seseorang menandatangani formulir kosong karena dia mengira sedang berurusan dengan pihak yang dipercaya. Server menerima permintaan itu sebagai sah karena cookie-nya valid. Inilah kenapa autentikasi saja, termasuk OAuth, tidak cukup tanpa proteksi anti-CSRF.

Cara Kerja Pertahanan

MekanismeCara melindungi
Token CSRFServer menanam token acak unik yang harus ikut di setiap permintaan ubah data
Cookie SameSiteMembatasi pengiriman cookie ke permintaan dari situs yang sama
Verifikasi originServer menolak permintaan dari origin yang tidak dikenal

Kenapa Penting?

Untuk website bisnis dengan area login, panel admin, atau checkout, CSRF bisa membuat pengguna tanpa sadar mengeksekusi aksi merugikan. Saat menangani platform berbasis akun untuk klien, Vito Atmo menjadikan token CSRF dan cookie SameSite sebagai standar bawaan, bukan tambahan opsional. Framework modern umumnya sudah menyediakan proteksi ini, tapi perlu dipastikan aktif. Rujukan teknisnya bisa dilihat di OWASP CSRF Prevention.

Pertanyaan Umum

Apa beda CSRF dan XSS?

XSS menjalankan skrip berbahaya di browser korban, sementara CSRF menyalahgunakan sesi login untuk mengirim permintaan tanpa izin. CSRF tidak perlu menyuntik skrip; ia cukup membonceng kepercayaan yang sudah ada.

Apakah token CSRF wajib di semua halaman?

Yang utama adalah pada aksi yang mengubah data, seperti POST, PUT, atau DELETE. Halaman baca saja umumnya tidak memerlukannya.

Bagikan