Кодувальник та декодувальник HTML-об'єктів
Що таке HTML-об'єкти?
HTML-об'єкти — це спеціальні коди для символів, що мають особливе значення в HTML або не можуть бути представлені напряму. Наприклад, < кодується як <, > — як >, & — як &, а лапки — як " чи '. Є два типи: іменовані ( ) та числові (  або  ).
Важливість для безпеки (XSS)
Некоректне кодування HTML — основна причина XSS (міжсайтовий скриптинг) уразливостей. Якщо дані, введені користувачем, виводяться в HTML без кодування, зловмисник може ввести <script> теги і виконати довільний JavaScript. Завжди кодуйте вивід в HTML-контексті: це правило номер один веб-безпеки.
Кодування в різних контекстах
HTML-контекст (вміст тегів): кодуйте < > & ". Атрибути HTML: кодуйте також одинарні лапки. JavaScript-рядки: потрібне JavaScript-escaping, а не HTML-кодування. URL у атрибутах href/src: URL-кодування. Використання неправильного кодування для контексту не захищає від XSS.
Спецсимволи в контенті
Для відображення авторського права: © → ©. Зареєстрована торгова марка: ® → ®. Нерозривний пробіл: . Тире: — → — та – → –. Типографічні лапки: “ і ” → “ та ”.