Встречается на собеседованиях • сегодня
Может ли нарушаться клиентская безопасность с 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!

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы