Kaj so entitete HTML

click fraud protection

HyperText Markup Language ali HTML je primarni jezik spletnih strani na internetu. Vključuje podporo za številne druge jezike, ki dodajo dodatno funkcionalnost in stil, kot sta JavaScript in CSS. Vsi ti jeziki temeljijo na besedilu z nekaterimi smiselnimi znaki, ki se uporabljajo za ločevanje literalnih nizov, ki jih je treba natisniti v brskalnik, in kode, ki jo je treba razlagati in izvajati.

Vendar ima ta zasnova nekaj težav, ki postanejo očitne, ko želite v brskalnik natisniti enega od smiselnih znakov. Najboljši primer znakov za uporabo sta simbola »manj kot« in »večje kot«. Ti simboli se torej uporabljajo za odpiranje in zapiranje segmentov kode v HTML. Pravilna metoda varnega tiskanja teh znakov na zaslon je uporaba entitet HTML.

Entitete HTML in varnost

Zahvaljujoč tem znakom, ki imajo poseben pomen, morate biti zelo previdni, da jih zamenjate z različico entitete HTML, če želite, da se natisnejo v brskalnik. Na žalost mnogi spletni razvijalci pozabljajo, da lahko uporabniki oddajo prispevke na številna spletna mesta. Če ta uporabniški vnos vključuje smiselne znake in niso nadomeščeni z entitetami HTML, v postopku, imenovanem sanacija, ima spletno mesto ranljivost za medstransko skriptiranje (XSS).

Nasvet: ne poskušajte poslati posebnih znakov na spletna mesta, da bi našli ranljivosti XSS. Takšno početje je tehnično vdiranje in je kaznivo dejanje, razen če imate dovoljenje lastnika spletnega mesta.

Kako delujejo entitete HTML (in včasih ne)

Entitete HTML delujejo, ker brskalnik ve, da jih prikaže kot ustrezen poseben znak in da jih ne obravnava kot poseben znak. Vse HTML entitete se začnejo z znakom "&" in končajo s podpičjem ";". Večina znakov je identificiranih s številko entitete, čeprav imajo nekateri posebni znaki tudi kratko ime. Na primer »&«, »« imajo številke entitet »&«, »« ter imena entitet »&«, »« oz. Brskalnik ve, da ti nizi pomenijo, da mora prikazati ustrezne znake.

Nasvet: Najdete lahko celoten seznam imen entitet znakov tukaj, čeprav se podpora za ime entitete razlikuje glede na brskalnik.

V večini primerov naj bi uporabniki videli le znake, ki jih predstavljajo entitete HTML. Vendar pa je mogoče videti kodirane znake, običajno ampersand "&", s postopkom, imenovanim "Dvojno kodiranje". To se zgodi, ko se znak ampersand pojavi v svoji lastni kodirani različici. Dvojno kodiranje se običajno zgodi, ko je vhod pravilno kodiran, ko je oddan, pa se ob izhodu ponovno očisti. Posledica tega je, da se znak "&" na začetku kodira drugič in se prikaže kot "&", nato brskalnik pravilno razlaga to kot niz, ki bi ga bilo treba natisniti kot "&", potem ko je dekodirala entiteto HTML in prezrla delno entiteta.