Что такое Кодировщик/декодировщик HTML-сущностей?
Кодировщик/декодировщик HTML-сущностей преобразует специальные символы, такие как <, >, & и кавычки, в их HTML-эквиваленты (и обратно). Это предотвращает XSS-уязвимости при встраивании пользовательского контента в HTML и устраняет проблемы с отображением специальных символов.
Кодировщик преобразует символы вроде <, >, &, ", ' и любой кодпойнт Unicode в именованные сущности (&, <), десятичные числовые ссылки (&) или шестнадцатеричные числовые ссылки (&). Переключатель охвата позволяет кодировать только пять зарезервированных символов, все специальные символы или каждый не-ASCII символ. Декодирование обращает любой из трёх форматов. Полезно для очистки пользовательского ввода перед выводом в HTML или для восстановления текста из экспортов HTML-писем.
Как использовать
- Шаг 1 — Вставьте текст, содержащий специальные символы или HTML-сущности.
- Шаг 2 — Выберите «Кодировать» для преобразования символов в сущности или «Декодировать» для обратного преобразования.
- Шаг 3 — Выберите формат (именованный, десятичный или шестнадцатеричный) и охват для контроля интенсивности кодирования.
Когда использовать
- Вставка примеров кода в CMS, чтобы < и > не съело как HTML-теги.
- Очистка текста из HTML-писем или результатов парсинга, где остались — и .
- Экранирование пользовательского ввода перед вставкой в серверный шаблон против XSS.
Результат
Вам нужно отобразить фрагмент кода <div class=hero> внутри HTML-абзаца. Закодируйте его в <div class="hero">, чтобы устройство отображал текст, а не интерпретировал его как разметку.
Частые вопросы
- В чём разница между именованными и числовыми сущностями?
- Именованные — читаемые сокращения (© для ©). Числовые используют точку Unicode (© или ©). Числовые покрывают любой Unicode; именованные ограничены примерно 250 символами, описанными в спецификации HTML5.
- Нужно ли кодировать все спецсимволы или только часть?
- В HTML-теле достаточно закодировать & < > и кавычку, использованную в значениях атрибутов. В контекстах JavaScript и URL правила другие. Переключатель Охвата предлагает три варианта: Только зарезервированные — пять критических для XSS символов, Все специальные — типографика плюс зарезервированные, Все не-ASCII — самое широкое покрытие.
- Не сломает ли кодирование копипасту или скринридеры?
- Нет. Браузер декодирует сущности до отрисовки, пользователь видит и копирует исходный символ. Скринридеры тоже получают декодированную форму. Сущности — это транспортный формат разметки, а не финальный вывод.
- Достаточно ли HTML-кодирования, чтобы остановить XSS?
- Для текста в теле HTML — да. В атрибутах нужно ещё взять значение в кавычки и закодировать сам символ кавычки. В JavaScript, CSS и URL свои правила экранирования. Кодирование — первый слой, а не вся защита.
- Почему одни сущности начинаются с &#x, а другие — с &#?
- &#x — шестнадцатеричная точка, &# — десятичная. Оба варианта указывают на один и тот же символ: © и © — это ©. Шестнадцатеричная форма совпадает с записью U+ из Unicode и короче для высоких кодов.
Похожие инструменты
Поиск рифм
Находите точные и приблизительные рифмы к любому слову
Решатель анаграмм
Найдите все допустимые анаграммы для любого слова
Поиск Unicode
Поиск символов Unicode по имени или коду
Кодировщик/Декодировщик URL
Кодирование и декодирование URL мгновенно
Фонетический алфавит НАТО
Преобразуйте текст в фонетический алфавит НАТО
Счётчик абзацев
Подсчитайте абзацы в тексте