Hva er HTML-enheter

HyperText Markup Language, eller HTML, er hovedspråket for nettsider på internett. Den inkluderer støtte for en rekke andre språk som legger til ekstra funksjonalitet og stil som JavaScript og CSS. Alle disse språkene er tekstbaserte med noen meningsfulle tegn som brukes til å skille bokstavelige strenger som skal skrives ut til nettleseren og kode som skal tolkes og kjøres.

Denne designen har imidlertid noen problemer, disse blir tydelige når du vil skrive ut en av de meningsfulle tegnene til nettleseren. De beste eksempeltegnene å bruke er symbolene "mindre enn" og "større enn". Disse symbolene brukes til å åpne og lukke kodesegmenter i HTML. Den riktige metoden for å skrive ut disse tegnene til skjermen på en sikker måte er å bruke HTML-enheter.

HTML-enheter og sikkerhet

Takket være at disse tegnene har en spesiell betydning, må du være veldig forsiktig for å sørge for at du erstatter dem med HTML-enhetsversjonen hvis du vil at de skal skrives ut i nettleseren. Dessverre glemmer mange nettutviklere at brukere kan sende inn innspill til mange nettsteder. Hvis denne brukerinndataene inkluderer meningsfulle tegn og de ikke erstattes med HTML-enheter, i en prosess som kalles sanering, har nettstedet et Cross-Site Scripting (XSS)-sårbarhet.

Tips: Ikke prøv å sende inn spesialtegn til nettsteder i et forsøk på å finne XSS-sårbarheter. Å gjøre det er teknisk hacking og er en straffbar handling med mindre du har tillatelse fra eieren av nettstedet.

Hvordan HTML-enheter fungerer (og noen ganger ikke gjør det)

HTML-enheter fungerer fordi nettleseren vet å vise det som det relevante spesialtegnet og ikke behandle det som et spesialtegn. Alle HTML-enheter starter med et og-tegn "&" og slutter med et semikolon ";". De fleste tegn identifiseres med et enhetsnummer, selv om noen spesialtegn også har et stenografinavn. For eksempel har "&", "" enhetsnumrene "&", "" samt enhetsnavnene "&", "". Nettleseren vet at disse strengene betyr at den må vise de relevante tegnene.

Tips: Du finner en fullstendig liste over navn på karakterenheter her, selv om støtte for enhetsnavn varierer fra nettleser.

I de fleste tilfeller bør brukere bare se tegnene som HTML-enheter representerer. Det er imidlertid mulig å se kodede tegn, vanligvis og-tegn "&", gjennom en prosess kalt "Dobbeltkoding". Dette skjer når og-tegnet vises i sin egen kodede versjon. Dobbeltkoding skjer vanligvis når inndata er riktig kodet, ettersom det sendes inn, men når det sendes ut, blir det renset igjen. Dette resulterer i at og-tegnet ved starten av "&" blir kodet en gang til og vises som "&", nettleseren deretter tolker det riktig som en streng som skal skrives ut som "&" etter å ha dekodet HTML-enheten og ignorert den delvise enhet.