13.1.3 Cross-site Request Forgery¶
-
Penjelasan singkat
CSRF terjadi ketika penyerang menipu pengguna yang sudah login untuk melakukan permintaan yang tidak diinginkan ke server. Biasanya, ini dilakukan dengan menyematkan permintaan berbahaya (misalnya, dalam gambar atau tautan) di situs web yang dikendalikan penyerang.
-
Dampak
- Perubahan data pengguna (misalnya, kata sandi, alamat email).
- Pembelian yang tidak sah.
- Tindakan lain yang tidak diinginkan atas nama pengguna.
- Pencegahan
- CSRF Tokens: Gunakan CSRF token yang unik untuk setiap sesi atau permintaan. Token ini harus disertakan dalam setiap permintaan POST dan divalidasi oleh server.
- SameSite Cookie Attribute: Setel atribut
SameSite
pada cookie keStrict
atauLax
untuk mencegah browser mengirim cookie dengan permintaan lintas situs. - Verifikasi Origin Header: Verifikasi header
Origin
atauReferer
untuk memastikan bahwa permintaan berasal dari domain yang diizinkan. Untuk API yang stateless dan menggunakan token bearer (JWT), biasanya tidak rentan terhadap CSRF. Untuk aplikasi berbasis browser, gunakan library sepertifastapi-csrf-protect
.