HTML экранирование/разэкранирование
HTML экранирование/разэкранирование
HTML экранирование/разэкранирование: Поддерживает экранирование и обратное преобразование HTML-сущностей, обрабатывает специальные символы и теги. Автоматически определяет форматы именованных и числовых сущностей, предотвращает XSS-атаки, подходит для отображения пользовательского ввода, примеров кода и безопасной обработки контента Всё выполняется локально в браузере.
Быстрый старт
Частые сценарии
Комментарии пользователей
Экранирование комментариев пользователей для предотвращения XSS-атак
Блог-посты
Отображение примеров HTML-кода в статьях
Форумные сообщения
Безопасное отображение пользовательского контента
Чат-сообщения
Предотвращение распространения вредоносного кода через функции чата
Данные форм
Обработка и отображение данных отправки форм
Отображение кода
Показ фрагментов HTML/JavaScript кода на веб-страницах
Дополнительный сценарий
html entities, escape html и unescape html можно закрыть в одном потоке проверки, чтобы быстрее сверить результат перед копированием или экспортом.
Рекомендации по использованию
Правила экранирования и сущности
Ограничения и совместимость
Конфиденциальность и безопасность
Частые вопросы
XSS (межсайтовый скриптинг) - это когда злоумышленники внедряют вредоносные скрипты в веб-страницы для кражи информации пользователей или выполнения вредоносных операций. HTML-экранирование является фундаментальной защитой от XSS
Экранирование необходимо при отображении любого пользовательского ввода, включая комментарии, сообщения, данные форм и т.д. Любой контент, который может содержать HTML-теги, нуждается в экранировании
Оба обозначают < (знак «меньше»). &lt; — именованная сущность (lt = less‑than), а &#60;/&#x3C; — числовые/шестнадцатеричные сущности. В современном HTML ведут себя одинаково: для читабельности используйте &lt;; &#60;/&#x3C; — там, где именованные сущности не поддерживаются или для произвольных символов/между разными языками разметки. Точку с запятой в конце необходимо сохранять (например, &lt;); без неё парсер может «склеить» с последующими буквами, например „&notin“ станет „&not;“+„in“ → „¬in“
Нет. HTML-экранирование работает только в HTML-контексте. Контексты JavaScript, CSS и URL требуют разных методов экранирования
Это происходит, когда контент экранируется дважды. Сначала < становится &lt;, затем & экранируется в &amp;, результатом является &amp;lt;. Избегайте повторного экранирования
Используйте механизм белого списка, чтобы разрешить только определенные безопасные теги и атрибуты. Это требует специализированных библиотек санитизации HTML, а не простого экранирования