Экранирование вывода
Преобразование данных при выводе так, чтобы они не интерпретировались как код.
Сигнатура
Output encoding / escapingЭкранирование вывода — ключевая защита от XSS. Данные кодируются под контекст вывода (HTML, атрибут, JavaScript, URL), чтобы спецсимволы вроде < и > отображались как текст, а не как разметка.
Как применять: используйте шаблонизаторы с автоэкранированием, выбирайте кодирование по контексту, никогда не вставляйте сырой ввод в HTML. Экранирование дополняет (но не заменяет) валидацию ввода.
import html
# Экранируем спецсимволы перед вставкой в HTML
user_text = "<script>alert(1)</script>"
safe = html.escape(user_text)
# safe == "<script>alert(1)</script>"
return "<p>" + safe + "</p>"