Вопрос проверяет знание методов защиты от межсайтового скриптинга (XSS), что необходимо для обеспечения безопасности веб-приложений.
XSS (Cross-Site Scripting) — это тип атаки, при котором злоумышленник внедряет вредоносный JavaScript-код в веб-страницу, которая затем выполняется в браузере жертвы. Это может привести к краже кук, перенаправлению на фишинговые сайты или изменению содержимого страницы. Защита от XSS критична для любого веб-приложения, работающего с пользовательскими данными.
<, >, &) в их HTML-сущности перед вставкой в страницу. Это предотвращает интерпретацию данных как кода.<script> или использование белого списка разрешённых тегов.Content-Security-Policy: script-src 'self' разрешает выполнение только скриптов с того же домена.HttpOnly при создании кук предотвращает доступ к ним через JavaScript, что защищает от кражи сессионных данных.innerHTML, document.write() или eval() с пользовательскими данными. Вместо этого применять textContent или безопасные шаблонизаторы (например, React автоматически экранирует вывод).// Опасный код (уязвим к XSS)
const userInput = "<script>alert('XSS')</script>";
document.getElementById('output').innerHTML = userInput;
// Безопасный код (экранирование)
const safeOutput = userInput.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
document.getElementById('output').textContent = safeOutput;
// Пример CSP в HTML
// <meta http-equiv="Content-Security-Policy" content="script-src 'self'">Защита от XSS требует комплексного подхода: экранирование вывода, валидация ввода, использование CSP и безопасных API. Эти методы особенно важны при разработке приложений с пользовательским контентом (формы, комментарии, чаты). Применение этих практик снижает риск атак и повышает доверие пользователей.
Уровень
Рейтинг:
5
Сложность:
5
Навыки
JavaScript
HTML
Ключевые слова
Подпишись на Python Developer в телеграм