Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Sanitizer: removeUnsafe()-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die removeUnsafe()-Methode der Sanitizer-Schnittstelle konfiguriert die Sanitizer-Konfiguration so, dass sie alle Elemente, Attribute und Ereignishandler-Inhaltsattribute entfernt, die vom Browser als XSS-unsicher angesehen werden.

Die Methode kann aufgerufen werden, um jede benutzerdefinierte Konfiguration XSS-sicher zu machen. Beachten Sie, dass Sie diese Methode nicht aufrufen müssen, wenn Sie den Sanitizer mit einem der "sicheren" HTML-Setzer wie Element.setHTML() und ShadowRoot.setHTML() verwenden. In diesen Setzern wird die Methode implizit aufgerufen, ohne die übergebene Sanitizer-Instanz zu verändern.

Syntax

js
removeUnsafe()

Parameter

Keine.

Rückgabewert

true, wenn die Operation irgendwelche Elemente, Attribute oder Ereignishandler-Inhaltsattribute entfernt hat, die als XSS-unsicher gelten, und false, wenn keine Elemente oder Attribute entfernt wurden.

Beispiele

Grundlegende Verwendung

Der folgende Code zeigt, wie removeUnsafe() verwendet wird.

js
// Create sanitizer.
const sanitizer = new Sanitizer(/* Some configuration */);

// Make the configuration XSS-safe
sanitizer.removeUnsafe();

Eine Sanitizer-Konfiguration sicher machen

Dieses Beispiel demonstriert, wie das Aufrufen von removeUnsafe() die Sanitizer-Konfiguration XSS-sicher macht.

JavaScript

Der Code erstellt zunächst ein neues Sanitizer-Objekt, das das sichere Element <p>, die unsicheren Elemente <script> und <iframe>, sowie das unsichere onwebkitanimationend-Ereignishandler-Attribut erlaubt.

Dann ruft der Code removeUnsafe() für den Sanitizer auf und protokolliert seine Konfiguration.

js
// Create sanitizer that allows
const sanitizer = new Sanitizer({
  elements: ["p", "script"],
  attributes: ["onwebkitanimationend"],
  replaceWithChildrenElements: ["iframe"],
});

// Make the sanitizer safe!
sanitizer.removeUnsafe();

// Log the sanitizer configuration
const sanitizerConfig = sanitizer.get();
log(JSON.stringify(sanitizerConfig, null, 2));

Ergebnisse

Die resultierende Konfiguration wird unten gezeigt. Beachten Sie, wie die unsicheren Elemente und Attribute von den "allow"-Listen zu den entsprechenden "remove"-Listen verschoben wurden. In diesem Fall haben wir immer noch <p> in den erlaubten Elementen, sodass beim Einsatz des Sanitizers nur <p>-Elemente im Eingabewert importiert werden.

Spezifikationen

Specification
HTML Sanitizer API
# dom-sanitizer-removeunsafe

Browser-Kompatibilität