Встречается на собеседованиях • сегодня

Может ли нарушаться клиентская безопасность с innerHTML

Да, использование `innerHTML` может нарушить клиентскую безопасность, так как оно уязвимо для XSS-атак (Cross-Site Scripting). Если вставляемый HTML содержит вредоносные скрипты, они будут выполнены в контексте страницы. Пример опасного кода: ```javascript const userInput = ''; document.getElementById('container').innerHTML = userInput; // Выполнится alert! ``` **Как избежать:** - Используйте `textContent` вместо `innerHTML`, если не нужно вставлять HTML. - Санируйте пользовательский ввод с помощью DOMPurify или аналогичных библиотек. - Для динамического контента используйте безопасные методы, например, `createElement` + `appendChild`. ```javascript // Безопасная альтернатива const userInput = ''; const div = document.createElement('div'); div.textContent = userInput; document.body.appendChild(div); // Скрипт не выполнится ``` Всегда валидируйте и экранируйте данные перед вставкой в DOM!
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы