IS
Все заметки
#security#csp#nextjs

strict-dynamic делает allowlist в CSP ненужным

Годами я собирал в script-src длинные списки доменов. Оказалось, при nonce + strict-dynamic это лишнее: браузер доверяет скрипту с валидным nonce, а любые скрипты, которые он подгрузит дальше, наследуют доверие автоматически. Хост-allowlist в этом режиме просто игнорируется современными браузерами.

Content-Security-Policy:
  script-src 'nonce-r4nd0m' 'strict-dynamic';
  object-src 'none';
  base-uri 'self';

Итог: политика короче, а безопасность строже — inline-инъекция без nonce не исполнится, и не нужно вести список CDN. В Next.js nonce удобно раздавать через middleware в заголовке запроса.

strict-dynamic делает allowlist в CSP ненужным — TIL