Сопоставление Middle XSS и CSP обновлено
Опасная конструкция и безопасная замена
Вопрос
Сопоставьте опасную конструкцию и безопасную замену.
Попробуйте сами
Нажмите слева, потом подходящее справа.
Показать ответ и разбор
Коротко
Почти у каждого опасного API есть безопасный аналог. Хорошая практика: запретить опасные варианты линтером и разрешать их точечно после ревью.
Правильные пары
el.innerHTML = userTextel.textContent = userText<div dangerouslySetInnerHTML={{__html: html}} />Пропустить html через DOMPurify или выводить текстом<a href={userUrl}>Проверить схему: только http, https или относительный путьsetTimeout("update(" + id + ")", 100)setTimeout(() => update(id), 100){{ comment|safe }} в Jinja2{{ comment }} с автоэкранированиемРазбор
Почти у каждого опасного API есть безопасный аналог. Хорошая практика: запретить опасные варианты линтером и разрешать их точечно после ревью.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.