🟡 Средний · 2 очк. Безопасность
Как пакет html/template в Go защищает от XSS при выводе данных в HTML?
A Не защищает; экранирование нужно делать вручную
B Автоматически экранирует данные при выводе через {{.}} в зависимости от контекста
C Блокирует любой вывод в шаблон
D Только если вызвать специальную функцию Escape
Объяснение вопроса

XSS (Cross-Site Scripting) - внедрение злонамеренного JavaScript в страницу. Пакет html/template при подстановке данных через {{ .Field }} по умолчанию экранирует вывод: подставляет HTML-сущности так, чтобы строка воспринималась как текст, а не как разметка.

Если нужно вывести "сырой" HTML, используют тип template.HTML. Присваивать ему можно только доверенные или санитизированные данные. Пакет text/template не делает экранирование - для вывода в HTML использовать его с пользовательскими данными небезопасно.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.