Інструмент для розробників

Сутності HTML

Екрануйте символи розмітки, щоб вони відображалися як текст, або декодуйте їх назад.

Сутності HTML Працює на вашому пристрої
  • Працює у вашому браузері — ваш текст нікуди не надсилається
  • Без реєстрації та квот, безкоштовно користуйтеся скільки завгодно

Як це працює

Вставлення ненадійного тексту на вебсторінку без екранування — саме те, що призводить до міжсайтового скриптингу. Кодування перетворює символи, які браузер вважає розміткою, на сутності, тож їх відображають, а не виконують.

Що кодується

П'ять важливих символів: амперсанд, «менше», «більше», подвійні лапки й апостроф. Амперсанд потрібно кодувати першим, інакше все, що йде після нього, буде закодовано двічі.

Декодування

Декодування перетворює іменовані та числові сутності назад на символи за допомогою синтаксичного аналізатора браузера, а не таблиці відповідників, тому весь набір обробляється правильно.

Що саме кодується

Кодування замінює п'ять символів: & стає &amp;, < стає &lt;, > стає &gt;, " стає &quot;, а ' стає &#39;. Цього досить, щоб безпечно показувати текст усередині HTML і в атрибутах у лапках. Літери з діакритичними знаками та емодзі залишаються без змін, бо сторінки в UTF-8 відображають їх безпосередньо.

Декодування

Декодування розуміє всі іменовані сутності, визначені в HTML, як-от &eacute;, &mdash; і &nbsp;, а також числові сутності у десятковому чи шістнадцятковому записі (&#233;, &#xE9;), бо використовує власний HTML-аналізатор вашого браузера.

Запитання й відповіді

Сутності HTML: запитання

Чи убезпечить це мій сайт від XSS?

Екранування виводу — необхідна частина захисту, але безпека залежить від екранування в потрібному контексті. Якщо у вас є фреймворк, користуйтеся його екрануванням.

Які символи воно кодує?

Амперсанд, знак «менше», знак «більше», подвійні лапки й апостроф — символи, які браузер інакше сприйняв би як розмітку.

Чи завантажується мій текст на сервер?

Ні. Кодування виконується на сторінці.