CSP là header Content-Security-Policy giới hạn nguồn tài nguyên trang được phép nạp/chạy → phòng thủ chiều sâu cho XSS: dù sanitize sót, CSP vẫn chặn <script> từ nguồn lạ, inline script, inline event handler, javascript: URL, và eval().
Directive chính: default-src, script-src.
Cách mạnh:
- nonce: server sinh giá trị ngẫu nhiên mỗi response, gắn vào cả header (script-src 'nonce-xxx') và thẻ <script nonce="xxx">.
- hash (SHA-256) cho script tĩnh.
- Thêm strict-dynamic, object-src 'none', base-uri 'none'.
Test an toàn bằng Content-Security-Policy-Report-Only. CSP bổ sung, không thay thế sanitize.