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

View in English Always switch to English

Standardkonfiguration des Sanitizers

Die Standardkonfiguration des Sanitizers definiert die Konfiguration, die vom Sanitizer()-Konstruktor zurückgegeben wird, wenn kein configuration-Parameter als Argument übergeben wird. Diese gleiche Konfiguration wird implizit verwendet, wenn Sie die sicheren Sanitizer-Methoden, wie zum Beispiel Element.setHTML(), ShadowRoot.setHTML(), und Document.parseHTML() aufrufen, ohne einen benutzerdefinierten Sanitizer anzugeben.

Diese Konfiguration entfernt folgende Arten von Elementen:

  1. Solche, die als XSS-gefährlich bekannt sind:
  2. Elemente, die für Clickjacking, Spoofing oder andere Angriffe verwendet werden könnten.
  3. Veraltete Elemente.
  4. Kommentare und data-*-Attribute.

Es bietet daher einen Sanitizer mit einer minimalen Angriffsfläche, die dennoch für die Mehrheit der Anwendungsfälle der Sanitization geeignet ist.

Hinweis: Der Aufruf von Sanitizer.removeUnsafe() oder das Übergeben eines benutzerdefinierten Sanitizers an die sichere Sanitizer-Methode entfernt nur die XSS-gefährlichen Elemente. Es entfernt nicht die zusätzlichen Elemente, Kommentare und data-*-Attribute.

Die folgenden Abschnitte listen alle Elemente auf, mit einem ✓-Symbol zur Kennzeichnung derjenigen, die von der Standardkonfiguration erlaubt sind (das ❌-Symbol kennzeichnet somit diejenigen, die entfernt werden). Die Spalte "Zusätzliche erlaubte Attribute" listet die Attribute auf, die für die jeweiligen Elemente erlaubt sind; alle anderen Attribute des Elements werden entfernt (es sei denn, sie sind durch die globalen Attribute erlaubt). Der Abschnitt Globale Attribute listet die Attribute auf, die auf allen Elementen erlaubt sind (die Attribute, die bei der Verwendung der Konfiguration nicht entfernt werden).

HTML-Elemente

Element Erlaubt Zusätzliche erlaubte Attribute
<a> href, hreflang, type
<abbr>
<acronym>
<address>
<area>
<article>
<aside>
<audio>
<b>
<base>
<bdi>
<bdo>
<big>
<blockquote> cite
<body>
<br>
<button>
<canvas>
<caption>
<center>
<cite>
<code>
<col> span
<colgroup> span
<data> value
<datalist>
<dd>
<del> cite, datetime
<details>
<dfn>
<dialog>
<dir>
<div>
<dl>
<dt>
<em>
<embed>
<fencedframe>
<fieldset>
<figcaption>
<figure>
<font>
<footer>
<form>
<frame>
<frameset>
<h1> – <h6>
<head>
<header>
<hgroup>
<hr>
<html>
<i>
<iframe>
<img>
<input>
<ins> cite, datetime
<kbd>
<label>
<legend>
<li> value
<link>
<main>
<map>
<mark>
<marquee>
<menu>
<meta>
<meter>
<nav>
<nobr>
<noembed>
<noframes>
<noscript>
<object>
<ol> reversed, start, type
<optgroup>
<option>
<output>
<p>
<param>
<picture>
<plaintext>
<pre>
<progress>
<q>
<rb>
<rp>
<rt>
<rtc>
<ruby>
<s>
<samp>
<script>
<search>
<section>
<select>
<selectedcontent>
<slot>
<small>
<source>
<span>
<strike>
<strong>
<style>
<sub>
<summary>
<sup>
<table>
<tbody>
<td> colspan, headers, rowspan
<template>
<textarea>
<tfoot>
<th> abbr, colspan, headers, rowspan, scope
<thead>
<time> datetime
<title>
<tr>
<track>
<tt>
<u>
<ul>
<var>
<video>
<wbr>
<xmp>

SVG-Elemente

Element Erlaubt Zusätzliche erlaubte Attribute
<a> href, hreflang, type
<animate>
<animateMotion>
<animateTransform>
<circle> cx, cy, pathLength, r
<clipPath>
<defs>
<desc>
<ellipse> cx, cy, pathLength, rx, ry
<feBlend>
<feColorMatrix>
<feComponentTransfer>
<feComposite>
<feConvolveMatrix>
<feDiffuseLighting>
<feDisplacementMap>
<feDistantLight>
<feDropShadow>
<feFlood>
<feFuncA>
<feFuncB>
<feFuncG>
<feFuncR>
<feGaussianBlur>
<feImage>
<feMerge>
<feMergeNode>
<feMorphology>
<feOffset>
<fePointLight>
<feSpecularLighting>
<feSpotLight>
<feTile>
<feTurbulence>
<filter>
<foreignObject> height, width, x, y
<g>
<image>
<line> pathLength, x1, x2, y1, y2
<linearGradient>
<marker> markerHeight, markerUnits, markerWidth, orient, preserveAspectRatio, refX, refY, viewBox
<mask>
<metadata>
<mpath>
<path> d, pathLength
<pattern>
<polygon> pathLength, points
<polyline> pathLength, points
<radialGradient>
<rect> height, pathLength, rx, ry, width, x, y
<script>
<set>
<stop>
<style>
<svg> height, preserveAspectRatio, viewBox, width, x, y
<switch>
<symbol>
<text> dx, dy, lengthAdjust, rotate, textLength, x, y
<textPath> lengthAdjust, method, path, side, spacing, startOffset, textLength
<title>
<tspan> dx, dy, lengthAdjust, rotate, textLength, x, y
<use>
<view>

MathML-Elemente

Element Erlaubt Zusätzliche erlaubte Attribute
<annotation>
<annotation-xml>
<maction>
<math>
<menclose>
<merror>
<mfenced>
<mfrac>
<mi>
<mmultiscripts>
<mn>
<mo> fence, form, largeop, lspace, maxsize, minsize, movablelimits, rspace, separator, stretchy, symmetric
<mover> accent
<mpadded> depth, height, lspace, voffset, width
<mphantom>
<mprescripts>
<mroot>
<mrow>
<ms>
<mspace> depth, height, width
<msqrt>
<mstyle>
<msub>
<msubsup>
<msup>
<mtable>
<mtd> columnspan, rowspan
<mtext>
<mtr>
<munder> accentunder
<munderover> accent, accentunder
<semantics>

Globale Attribute

Die Standardkonfiguration erlaubt die folgenden Attribute auf allen Elementen.

Globale HTML-Attribute

Globale MathML-Attribute

SVG-Attribute