Limited availability
Die parseHTMLUnsafe()
statische Methode des Document
-Objekts wird verwendet, um eine HTML-Eingabe zu analysieren. Dabei können unerwünschte HTML-Elemente und Attribute gefiltert werden, um eine neue Document
-Instanz zu erstellen.
Im Gegensatz zu Document.parseHTML()
wird bei XSS-unsicheren HTML-Entitäten nicht garantiert, dass sie entfernt werden.
Document.parseHTMLUnsafe(input)
Document.parseHTMLUnsafe(input, options)
Parameter
input
Eine Zeichenkette oder eine TrustedHTML
-Instanz, die das zu analysierende HTML definiert.
options
Optional
Ein Optionsobjekt mit den folgenden optionalen Parametern:
sanitizer
Optional
Ein Sanitizer
- oder SanitizerConfig
-Objekt, das definiert, welche Elemente der Eingabe erlaubt oder entfernt werden. Beachten Sie, dass im Allgemeinen ein "Sanitizer
als effizienter erwartet wird als ein SanitizerConfig
, wenn die Konfiguration wiederverwendet werden soll. Wenn nicht angegeben, wird kein Sanitizer verwendet.
Ein Document
.
TypeError
Diese Ausnahme wird ausgelöst, wenn:
html
eine Zeichenkette übergeben wird, wenn Trusted Types durch eine CSP erzwungen wird und keine Standardrichtlinie definiert ist.options.sanitizer
einen Wert übergeben wird, der nicht ein Sanitizer
, SanitizerConfig
oder eine Zeichenkette ist.
SanitizerConfig
(eine, die sowohl "erlaubte" als auch "entfernte" Konfigurationseinstellungen enthält)."default"
hat.Die parseHTMLUnsafe()
statische Methode kann verwendet werden, um eine neue Document
-Instanz zu erstellen und dabei optional unerwünschte Elemente und Attribute herauszufiltern. Das resultierende Document
wird einen Inhaltstyp von "text/html", einen Zeichensatz von UTF-8 und eine URL von "about:blank" haben.
Der Suffix "Unsafe" im Methodennamen weist darauf hin, dass zwar die Eingabezeichenkette von unerwünschten HTML-Entitäten gefiltert werden kann, aber keine Durchsetzung der Bereinigung oder Entfernung potenziell unsicherer XSS-relevanter Eingaben erfolgt. Wenn keine Sanitisierungskonfiguration im Parameter options.sanitizer
angegeben ist, wird parseHTMLUnsafe()
ohne jegliche Sanitisierung verwendet. Beachten Sie, dass <script>
-Elemente während der Analyse nicht ausgewertet werden.
Das eingegebene HTML kann deklarative Schatten-Wurzeln enthalten. Wenn die HTML-Zeichenkette mehr als eine deklarative Schatten-Wurzel in einem bestimmten Schattenhost definiert, wird nur das erste ShadowRoot
erstellt â nachfolgende Deklarationen werden als <template>
-Elemente innerhalb dieser Schatten-Wurzel analysiert.
parseHTMLUnsafe()
sollte anstelle von Document.parseHTML()
verwendet werden, wenn potenziell unsichere HTML-Zeichenfolgen analysiert werden müssen, die aus irgendeinem Grund XSS-unsichere Elemente oder Attribute enthalten müssen. Wenn das zu analysierende HTML keine unsicheren HTML-Entitäten enthalten muss, sollten Sie Document.parseHTML()
verwenden.
Beachten Sie, dass, da diese Methode nicht zwingend Eingabezeichenfolgen von XSS-unsicheren Entitäten bereinigt, Eingabezeichenfolgen auch mit der Trusted Types API validiert werden sollten. Wenn die Methode sowohl mit vertrauenswürdigen Typen als auch mit einem Sanitizer verwendet wird, wird die HTML-Eingabe durch die vertrauenswürdige Typ-Transformationsfunktion geleitet, bevor sie bereinigt wird.
Spezifikationen Browser-Kompatibilität Siehe auchRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4