Код
Генератор CSP
Соберите заголовок Content-Security-Policy по директивам: пресеты, готовые строки для nginx, Apache и meta-тега.
Пресеты
Директивы
Источники через пробел: 'self', 'none', https://cdn.example.com, data:, 'unsafe-inline'. Пустая директива не попадёт в заголовок.
Заголовок
Content-Security-Policy: default-src 'self'; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests
nginx
add_header Content-Security-Policy "default-src 'self'; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests" always;
Apache (.htaccess)
Header set Content-Security-Policy "default-src 'self'; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests"
HTML meta (частичная поддержка: без frame-ancestors)
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests">
Совет: сначала выкатывайте через Content-Security-Policy-Report-Only и смотрите нарушения в консоли, потом включайте боевой заголовок.