Выбор ответа Middle Безопасность фронтенда обновлено
Зачем nonce в CSP
Вопрос
Политика script-src 'nonce-abc123'. Какой скрипт на странице выполнится?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: <script nonce="abc123"init()</script. nonce это случайная строка, которую сервер генерирует на каждый ответ и ставит в заголовок и в доверенные теги <script.
Варианты ответа
<script nonce="abc123">init()</script>правильный ответ<script>init()</script><button onclick="init()">- Ни один инлайн-скрипт, nonce работает только для внешних файлов
Разбор
nonce это случайная строка, которую сервер генерирует на каждый ответ и ставит в заголовок и в доверенные теги <script>. Выполнятся только скрипты с совпадающим nonce, а внедрённый атакующим тег nonce не знает. Обычный инлайн без nonce заблокирован. Инлайн-обработчики вроде onclick nonce не принимают вовсе. nonce работает и для инлайн, и для внешних скриптов.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Безопасность фронтенда»
- Защита на уровне заголовков
- XSS и как от него защищаться
- CSP
- CSRF
- Site и origin
- XSS
- Защита от кликджекинга
- Что даёт HttpOnly