Mik azok a HTML entitások

A HyperText Markup Language vagy HTML az internet weboldalainak elsődleges nyelve. Számos más nyelv támogatását is tartalmazza, amelyek extra funkciókat és stílust adnak hozzá, mint például a JavaScript és a CSS. Mindezek a nyelvek szövegalapúak, és néhány értelmes karaktert használnak a böngészőbe nyomtatandó karakterláncok és az értelmezendő és végrehajtandó kódok elkülönítésére.

Ennek a kialakításnak van néhány problémája, amelyek nyilvánvalóvá válnak, ha ki akarja nyomtatni az egyik értelmes karaktert a böngészőbe. A legjobb példakarakterek a „kisebb, mint” és a „nagyobb, mint” szimbólumok. Illetve ezek a szimbólumok kódszegmensek megnyitására és bezárására szolgálnak a HTML-ben. Ezeknek a karaktereknek a képernyőre való biztonságos kinyomtatásának helyes módja a HTML entitások használata.

HTML entitások és biztonság

Köszönhetően ezeknek a karaktereknek különleges jelentésük van, nagyon óvatosnak kell lennie, és győződjön meg arról, hogy lecseréli őket a HTML entitás verziójára, ha azt szeretné, hogy kinyomtassa őket a böngészőbe. Sajnos sok webfejlesztő megfeledkezik arról, hogy a felhasználók sok webhelyhez küldhetnek be adatokat. Ha ez a felhasználói bevitel értelmes karaktereket tartalmaz, és azokat nem cserélik le HTML-entitásokkal a fertőtlenítésnek nevezett folyamat során, akkor a webhelyen Cross-Site Scripting (XSS) sérülékenység található.

Tipp: Ne próbáljon meg speciális karaktereket elhelyezni a webhelyeken, hogy XSS-sebezhetőséget keressen. Ez technikailag hackelésnek minősül, és bűncselekménynek minősül, hacsak nincs engedélye a webhely tulajdonosától.

Hogyan működnek a HTML-entitások (és néha nem)

A HTML entitások azért működnek, mert a böngésző tudja, hogy a megfelelő speciális karakterként jelenítse meg, és nem kezeli speciális karakterként. Minden HTML-entitás „&” jellel kezdődik, és pontosvesszővel „;” végződik. A legtöbb karaktert entitásszám azonosítja, bár néhány speciális karakternek van rövidített neve is. Például az „&”, „” az „&”, „” entitásszámmal, valamint az „&”, „” entitásnevekkel rendelkezik. A böngésző tudja, hogy ezek a karakterláncok azt jelentik, hogy meg kell jelenítenie a megfelelő karaktereket.

Tipp: A karakteres entitásnevek teljes listája megtalálható itt, bár az entitásnév támogatása böngészőnként eltérő.

A legtöbb esetben a felhasználóknak mindig csak azokat a karaktereket kell látniuk, amelyeket a HTML-entitások képviselnek. Lehetséges azonban, hogy kódolt karaktereket, általában "&" karaktereket, a "Kettős kódolás" nevű eljárással láthatunk. Ez akkor történik, amikor az „és” karakter megjelenik a saját kódolt változatában. A kettős kódolás általában akkor történik, ha a bemenet helyesen van kódolva, ahogy elküldik, azonban a kimenetkor ismét megtisztul. Ez azt eredményezi, hogy az „&” elején lévő „és” jel másodszor is kódolásra kerül, és „&”-ként jelenik meg, majd a böngésző helyesen értelmezi ezt egy karakterláncként, amelyet „&”-ként kell kinyomtatni, miután dekódolta a HTML entitást és figyelmen kívül hagyta a részleges entitás.