HTML Varlıkları Kodlama / Çözme
Metni HTML için kaçışlayın ya da & biçimli varlıkları karakterlere çevirin
Bu araç hakkında
Metni HTML’e güvenle koymak için kaçışlayın — & işareti & olur, < işareti < olur — ya da varlık dolu metni okunur karakterlere geri çözün; adlandırılmış varlıklar (→), ondalık (©) ve onaltılık (©) sayısal başvurular desteklenir.
Kodlama iki düzey sunar: HTML yapısını bozan beş temel karakter (& < > " ') — doğruluk için gereken tek şey budur — ya da ASCII dışındaki her şey; ikincisi, sizinle sayfa arasındaki bir araç zinciri UTF-8’i bozduğunda işe yarar. Yalnızca sayısal mod, katı XML ayrıştırıcılarıyla azami uyum için adlandırılmış varlıkları atlar; çünkü XML yalnızca önceden tanımlı beş varlığı garanti eder.
Günlük hayatta asıl kullanılan yarısı çözücüdür: kazınmış bir parçayı ya da ' dolu bir API yanıtını yapıştırın, temiz metni alın. Tanınmayan varlık adları tahmin edilmeye çalışılmadan olduğu gibi geçirilir.
Sıkça sorulan sorular
- HTML’de hangi karakterler kaçışlanmalı?
- Metin içeriğinde: & ve <. Öznitelik değerlerinde: ayrıca özniteliği sınırlayan tırnak karakteri (" veya '). > karakterini kaçışlamak alışılmış bir uygulamadır ama kesin olarak gerekli değildir. Geri kalan her şey UTF-8 bir belgede olduğu gibi görünebilir.
- Varlık kodlaması XSS’e karşı bir savunma mı?
- Beş yapısal karakteri kaçışlamak HTML bağlamındaki çıktı kodlamasının çekirdeğidir, evet — ama yalnızca HTML metni ve öznitelik bağlamları için. URL’ler, JavaScript dizgeleri ve CSS kendi bağlama özgü kodlamalarını ister; oralarda tek başına varlık kaçışlaması keyfî enjeksiyonu güvenli kılmaz.
- Adlandırılmış mı sayısal varlık mı üretmeliyim?
- Sayısal başvurular (é) her HTML ve XML ayrıştırıcısında çalışır. Adlandırılmış varlıklar daha okunaklıdır ama XML yalnızca beş tanesini önceden tanımlar; yani é katı bir XML/XHTML hattını bozar. Tereddüt ediyorsanız sayısal kullanın.
- Verimde neden &#39; (çift kodlanmış) görüyorum?
- İki katman birer kez kodlamış: ilk kodlamanın & işareti ikinci geçişte yeniden kaçışlanmış. Metni kurtarmak için burada iki kez çözün, sonra kodlamaması gereken katmanı bulup düzeltin.