Hvad er HTML-enheder

HyperText Markup Language, eller HTML, er det primære sprog for websider på internettet. Det inkluderer understøttelse af en række andre sprog, der tilføjer ekstra funktionalitet og styling såsom JavaScript og CSS. Alle disse sprog er tekstbaserede med nogle meningsfulde tegn, der bruges til at adskille bogstavelige strenge, der skal udskrives til browseren, og kode, der skal fortolkes og udføres.

Dette design har dog nogle problemer, disse bliver tydelige, når du vil udskrive et af de meningsfulde tegn til browseren. De bedste eksempler på tegn at bruge er symbolerne "mindre end" og "større end". Disse symboler bruges til at åbne og lukke kodesegmenter i HTML. Den korrekte metode til at udskrive disse tegn på skærmen sikkert er at bruge HTML-enheder.

HTML-enheder og sikkerhed

Takket være, at disse tegn har en særlig betydning, skal du være meget omhyggelig med at sikre, at du erstatter dem med HTML-entitetsversionen, hvis du ønsker, at de skal udskrives til browseren. Desværre glemmer mange webudviklere, at brugere kan sende input til mange websteder. Hvis dette brugerinput indeholder meningsfulde tegn, og de ikke erstattes med HTML-enheder, i en proces kaldet sanitisering, har webstedet en Cross-Site Scripting (XSS) sårbarhed.

Tip: Prøv ikke at indsende specialtegn til websteder i et forsøg på at finde XSS-sårbarheder. At gøre det er teknisk hacking og er en strafbar handling, medmindre du har tilladelse fra ejeren af ​​hjemmesiden.

Hvordan HTML-enheder fungerer (og nogle gange ikke gør)

HTML-enheder fungerer, fordi browseren ved at vise det som det relevante specialtegn og ikke behandle det som et specialtegn. Alle HTML-enheder starter med et og-tegn "&" og slutter med et semikolon ";". De fleste tegn identificeres med et enhedsnummer, selvom nogle specialtegn også har et stenografinavn. For eksempel har "&", "" enhedsnumrene "&", "" såvel som enhedsnavnene "&", "". Browseren ved, at disse strenge betyder, at den skal vise de relevante tegn.

Tip: Du kan finde en komplet liste over navne på karakterenheder her, selvom understøttelse af enhedsnavn varierer fra browser til browser.

I de fleste tilfælde bør brugere kun se de tegn, som HTML-enheder repræsenterer. Det er dog muligt at se kodede tegn, almindeligvis og-tegn "&", gennem en proces kaldet "Dobbeltkodning". Dette sker, når og-tegnet vises i sin egen kodede version. Dobbeltkodning sker generelt, når input er korrekt kodet, da det indsendes, men når det udlæses, bliver det renset igen. Dette resulterer i, at et-tegnet i starten af ​​"&" bliver kodet en anden gang og vises som "&", browseren derefter fortolker det korrekt som en streng, der skal udskrives som "&", efter at have afkodet HTML-enheden og ignoreret den delvise enhed.