Encje HTML
Zamień znaki znaczników na encje, by wyświetlały się jako tekst, lub zdekoduj je z powrotem.
- Działa w przeglądarce — twój tekst nigdy nie jest nigdzie wysyłany
- Bez rejestracji, bez limitów, za darmo, tak często, jak chcesz
Jak to działa
Wstawianie niezaufanego tekstu na stronę bez jego escapowania to sposób, w jaki dochodzi do ataków cross-site scripting. Kodowanie zamienia znaki, które przeglądarka traktuje jako znaczniki, na encje, dzięki czemu są wyświetlane, a nie wykonywane.
Co jest kodowane
Pięć znaków, które mają znaczenie: ampersand, znak mniejszości, znak większości, cudzysłów i apostrof. Ampersand trzeba zakodować jako pierwszy, w przeciwnym razie wszystko, co po nim następuje, zostanie zakodowane podwójnie.
Dekodowanie
Dekodowanie zamienia encje nazwane i numeryczne z powrotem na znaki za pomocą parsera przeglądarki, a nie tabeli wyszukiwania, więc cały zestaw jest obsługiwany poprawnie.
Dokładnie to, co jest kodowane
Kodowanie zastępuje pięć znaków: & zamienia się w &, < w <, > w >, " w ", a ' w '. To wystarcza, by bezpiecznie pokazać tekst wewnątrz HTML i w atrybutach w cudzysłowie. Litery z akcentami i emoji pozostają bez zmian, ponieważ strony w UTF-8 wyświetlają je bezpośrednio.
Dekodowanie
Dekodowanie rozumie każdą encję nazwaną zdefiniowaną w HTML, taką jak é, — i , a także encje numeryczne w zapisie dziesiętnym lub szesnastkowym (é, é), ponieważ używa parsera HTML twojej przeglądarki.
Encje HTML — pytania
Czy dzięki temu moja strona będzie bezpieczna przed XSS?
Escapowanie danych wyjściowych jest jego niezbędną częścią, ale bezpieczeństwo zależy od escapowania we właściwym kontekście. Jeśli masz framework, używaj jego mechanizmu escapowania.
Jakie znaki koduje?
Ampersand, znak mniejszości, znak większości, cudzysłów i apostrof — te, które przeglądarka w przeciwnym razie odczytałaby jako znaczniki.
Czy mój tekst jest przesyłany?
Nie. Kodowanie działa na stronie.