Was sind HTML-Entitäten?

HyperText Markup Language oder HTML ist die primäre Sprache für Webseiten im Internet. Es umfasst Unterstützung für eine Reihe anderer Sprachen, die zusätzliche Funktionen und Stile hinzufügen, wie JavaScript und CSS. Alle diese Sprachen sind textbasiert mit einigen bedeutungsvollen Zeichen, die verwendet werden, um literale Zeichenfolgen zu trennen, die an den Browser ausgegeben werden sollen, und Code, der interpretiert und ausgeführt werden soll.

Dieses Design weist jedoch einige Probleme auf, die offensichtlich werden, wenn Sie eines der aussagekräftigen Zeichen im Browser drucken möchten. Die besten Beispielzeichen für die Verwendung sind die Symbole „kleiner als“ und „größer als“. Entsprechend werden diese Symbole verwendet, um Codesegmente in HTML zu öffnen und zu schließen. Die korrekte Methode zum sicheren Drucken dieser Zeichen auf dem Bildschirm besteht darin, HTML-Entitäten zu verwenden.

HTML-Entitäten und Sicherheit

Da diese Zeichen eine besondere Bedeutung haben, müssen Sie sehr sorgfältig darauf achten, dass Sie sie durch die HTML-Entity-Version ersetzen, wenn sie im Browser ausgegeben werden sollen. Leider vergessen viele Webentwickler, dass Benutzer auf vielen Websites Eingaben senden können. Wenn diese Benutzereingabe aussagekräftige Zeichen enthält und diese nicht durch HTML-Entitäten ersetzt werden, weist die Website in einem Vorgang namens Bereinigung eine Cross-Site Scripting (XSS)-Schwachstelle auf.

Tipp: Versuchen Sie nicht, Sonderzeichen an Websites zu senden, um XSS-Schwachstellen zu finden. Dies ist technisch gesehen Hacking und stellt eine Straftat dar, es sei denn, Sie haben die Erlaubnis des Eigentümers der Website.

Wie HTML-Entitäten funktionieren (und manchmal nicht)

HTML-Entitäten funktionieren, weil der Browser weiß, dass er sie als relevantes Sonderzeichen anzeigt und nicht als Sonderzeichen behandelt. Alle HTML-Entitäten beginnen mit einem kaufmännischen Und „&“ und enden mit einem Semikolon „;“. Die meisten Zeichen werden durch eine Entitätsnummer identifiziert, obwohl einige Sonderzeichen auch einen Kurznamen haben. Beispielsweise haben „&“, „“ die Entitätsnummern „&“, „“ sowie die Entitätsnamen „&“, „“. Der Browser weiß, dass diese Zeichenfolgen bedeuten, dass er die entsprechenden Zeichen anzeigen muss.

Tipp: Eine vollständige Liste der Namen der Charakterentitäten finden Sie Hier, obwohl die Unterstützung von Entitätsnamen je nach Browser unterschiedlich ist.

In den meisten Fällen sollten Benutzer immer nur die Zeichen sehen, die HTML-Entitäten darstellen. Es ist jedoch möglich, codierte Zeichen, üblicherweise kaufmännisches Und „&“, durch einen Prozess namens „Doppelte Codierung“ zu sehen. Dies geschieht, wenn das kaufmännische Und-Zeichen in seiner eigenen codierten Version erscheint. Doppelte Kodierung tritt im Allgemeinen auf, wenn die Eingabe korrekt kodiert ist, während sie gesendet wird, aber wenn sie ausgegeben wird, wird sie erneut bereinigt. Dies führt dazu, dass das kaufmännische Und am Anfang des „&“ ein zweites Mal codiert wird und als „&“ erscheint, der Browser dann interpretiert das korrekt als einen String, der als "&" ausgegeben werden sollte, nachdem die HTML-Entität dekodiert und der Teil ignoriert wurde juristische Person.