CSP Praktis: Directive yang Benar-Benar Dipakai

Content Security Policy berguna kalau dimulai sebagai report-only dan dilonggarkan secukupnya. Policy ketat yang mematahkan situs akan dimatikan orang.

2026-09-10 · security, csp, headers, security-lab

CSP adalah header yang memberitahu browser sumber mana yang boleh memuat script, style, gambar, dan lainnya. Tujuannya mempersempit dampak XSS: script yang disuntikkan dari domain penyerang tidak akan dieksekusi.

Directive yang benar-benar berdampak: default-src sebagai fallback, script-src untuk JavaScript, style-src untuk CSS. Tiga itu menutup sebagian besar risiko. Sisanya (img-src, connect-src, frame-ancestors) menambal sisa.

Yang membuat CSP gagal di praktik: policy ketat langsung. script-src 'self' mematikan inline script, dan hampir semua aplikasi punya inline script dari framework atau analitik. Situs rusak, tim mematikan CSP, dan tidak kembali.

Urutan yang bekerja: mulai dengan Content-Security-Policy-Report-Only. Header ini tidak memblokir apa pun, hanya melaporkan pelanggaran. Kumpulkan laporan beberapa minggu, lihat sumber apa yang sebenarnya dipakai, lalu susun policy yang mengizinkannya.

Dua jebakan: Satu, nonce dan hash butuh perubahan server per request. Untuk situs statis, itu tidak tersedia, jadi 'unsafe-inline' sering terpaksa dipakai — dan itu melemahkan sebagian besar manfaat script-src. Dua, frame-ancestors menggantikan X-Frame-Options, dan ia tidak punya fallback di browser lama. Untuk klikjacking, kirim keduanya.

CSP bukan pengganti sanitasi input. Ia lapisan pertahanan kedua yang membatasi kerusakan, bukan mencegah penyuntikan.

← Semua Knowledge