intermediate
Content Security Policy
Снижайте последствия XSS через директивы script, style, image, connect, frame, nonce, hash и reporting.
Content Security Policy снижает ущерб инъекций, ограничивая источники scripts, styles, images, frames, workers и сетевых подключений. Сильные политики предпочитают nonces или hashes вместо unsafe inline, собирают отчёты о нарушениях и тестируются вместе со сборкой и сторонними интеграциями.
Content-Security-Policy:
default-src 'self';
script-src 'self' 'nonce-abc123';
connect-src 'self' https://api.example.com;
Начните с Content-Security-Policy-Report-Only, исправьте нарушения, затем enforce. CSP ограничивает масштаб атаки, но не заменяет escaping и аудит зависимостей.
На интервью: что CSP ограничивает и что не исправит сам по себе.
Типовые ошибки: размытая политика с wildcards — почти документация; CSP не заменяет sanitization.
Компромисс: удобство против контроля — выбирайте механизм под вашу связность и бюджет производительности.
Чеклист:
- Nonces или hashes для scripts.
- Без широких wildcards в продакшене.
- Сначала report-only.
- Escaping и sanitization ненадёжного HTML.