Escapowanie / dekodowanie HTML
Escapuj tekst do HTML albo dekoduj odwołania znakowe w przeglądarce. Koduje & < > " i ' w węzłach tekstowych; dekoduje nazwane i numeryczne odwołania.
Jak to działa
- Escapuje & < > " i ' w węzłach tekstowych HTML. To nie jest pełny sanitizer XSS dla atrybutów ani skryptów.
Escapuje & < > " i ' w węzłach tekstowych HTML. To nie jest pełny sanitizer XSS dla atrybutów ani skryptów.
O escapowaniu HTML
Czym jest escapowanie HTML?
Escapowanie HTML zamienia znaki o specjalnym znaczeniu w HTML, żeby wyświetlały się jako tekst, a nie znaczniki. Ta strona koduje & < > " i ' do & < > " i '.
Dekodowanie odwraca to: odczytuje nazwane odwołania amp, lt, gt, quot i apos oraz numeryczne, np. ' i '. Wszystko dzieje się w przeglądarce. Escapowanie węzłów tekstowych nie zastępuje kodowania zależnego od kontekstu ani sanitizera XSS.
Escapowanie i dekodowanie w kodzie
- JavaScript
text.replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, """) .replace(/'/g, "'")- Python
html.escape(text, quote=True) html.unescape(text)- Encje
& & < < > > " " ' '
FAQ: escapowanie HTML
- Czym jest escapowanie HTML?
- Escapowanie HTML koduje znaki, które inaczej byłyby znacznikami. Ta strona zamienia & < > " i ' na & < > " i ', żeby wyświetlały się jako tekst.
- Czym jest dekodowanie HTML (unescape)?
- Dekodowanie HTML zamienia odwołania znakowe z powrotem na tekst. Obsługiwane są nazwane amp, lt, gt, quot i apos oraz dziesiętne i szesnastkowe odwołania numeryczne.
- Czy escapowanie HTML zapobiega XSS?
- Nie. Escapowanie tych pięciu znaków wystarcza dla węzłów tekstowych HTML, ale atrybuty, URL-e i skrypty wymagają kodowania zależnego od kontekstu. To nie jest sanitizer.
- Jak escapować ciąg HTML w kodzie?
- W JavaScript zamień & < > " i ' na encje. W Pythonie użyj html.escape(text, quote=True) i html.unescape(text).