Standardkonfiguration des Sanitizers
Die Standardkonfiguration des Sanitizers definiert die Konfiguration, die vom Sanitizer() Konstruktor zurückgegeben wird, wenn kein configuration als Argument übergeben wird. Dieselbe Konfiguration wird implizit verwendet, wenn Sie die Methoden zur sicheren Bereinigung aufrufen, wie zum Beispiel Element.setHTML(), ShadowRoot.setHTML(), und Document.parseHTML(), ohne einen benutzerdefinierten Sanitizer anzugeben.
Diese Konfiguration entfernt folgende Arten von Elementen:
- Diejenigen, die bekanntlich XSS-unsicher sind:
- Zusätzliche Elemente, die in Clickjacking, Spoofing oder anderen Angriffen verwendet werden könnten.
- Kommentare und
data-*Attribute.
Daher bietet es einen Sanitizer mit minimaler Angriffsfläche, der dennoch für die meisten Bereinigungsanwendungsfälle geeignet ist.
Hinweis:
Der Aufruf von Sanitizer.removeUnsafe() oder das Übergeben eines benutzerdefinierten Sanitizers an die Methode zur sicheren Bereinigung entfernt nur die XSS-unsicheren Elemente.
Es entfernt nicht die zusätzlichen Elemente, Kommentare und data-* Attribute.
Die folgenden Abschnitte listen alle Elemente auf, wobei ein ✓ Zeichen jene anzeigt, die durch die Standardkonfiguration erlaubt sind (das ❌ zeigt daher jene an, die entfernt werden). Die Spalte "Zusätzliche erlaubte Attribute" listet die Attribute auf, die für die entsprechenden Elemente erlaubt sind; alle anderen Attribute auf dem Element würden entfernt werden (es sei denn, sie sind durch die globalen Attribute erlaubt). Der Abschnitt Globale Attribute listet die Attribute auf, die bei allen Elementen erlaubt sind (die Attribute, die nicht entfernt werden, wenn die Konfiguration verwendet wird).
HTML Elemente
SVG Elemente
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 bei allen Elementen.
HTML globale Attribute
MathML globale Attribute
displaystylemathbackgroundmathcolormathsizescriptlevel
SVG Attribute
alignment-baselinebaseline-shiftclip-pathclip-rulecolorcolor-interpolationcursordirectiondisplaydominant-baselinefillfill-opacityfill-rulefont-familyfont-sizefont-size-adjustfont-stretchfont-stylefont-variantfont-weightletter-spacingmarker-endmarker-midmarker-startopacitypaint-orderpointer-eventsshape-renderingstop-colorstop-opacitystrokestroke-dasharraystroke-dashoffsetstroke-linecapstroke-linejoinstroke-miterlimitstroke-opacitystroke-widthtext-anchortext-decorationtext-overflowtext-renderingtransformtransform-originunicode-bidivector-effectvisibilitywhite-spaceword-spacingwriting-mode