Cấu hình sanitizer mặc định

Cấu hình sanitizer mặc định định nghĩa cấu hình được trả về bởi hàm khởi tạo Sanitizer() nếu không có configuration nào được truyền làm đối số. Cấu hình tương tự này được sử dụng ngầm nếu bạn gọi các phương thức làm sạch an toàn, chẳng hạn như Element.setHTML(), ShadowRoot.setHTML(), và Document.parseHTML(), mà không chỉ định sanitizer tùy chỉnh.

Cấu hình này xóa các loại mục sau:

  1. Những mục được biết là không an toàn với XSS:
  2. Các mục bổ sung có thể được sử dụng trong clickjacking, giả mạo hoặc các cuộc tấn công khác.
  3. Nhận xét và các thuộc tính data-*.

Do đó nó cung cấp một sanitizer với bề mặt tấn công tối thiểu, vẫn phù hợp cho phần lớn các trường hợp sử dụng làm sạch.

Note: Gọi Sanitizer.removeUnsafe(), hoặc truyền sanitizer tùy chỉnh cho phương thức làm sạch an toàn, chỉ xóa các mục không an toàn với XSS. Nó không xóa các mục bổ sung, nhận xét, và thuộc tính data-*.

Các phần sau liệt kê tất cả các phần tử, với dấu ✓ cho biết những phần tử được phép bởi cấu hình mặc định (do đó ❌ cho biết những phần tử sẽ bị xóa). Cột "Thuộc tính cho phép bổ sung" liệt kê các thuộc tính được phép cho các phần tử tương ứng; bất kỳ thuộc tính nào khác trên phần tử sẽ bị xóa (trừ khi được phép bởi các thuộc tính toàn cục). Phần Thuộc tính toàn cục liệt kê các thuộc tính được phép trên tất cả các phần tử.

Phần tử HTML

Phần tử Được phép Thuộc tính cho phép bổ sung
<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>

Phần tử SVG

Phần tử Được phép Thuộc tính cho phép bổ sung
<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>

Phần tử MathML

Phần tử Được phép Thuộc tính cho phép bổ sung
<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>

Thuộc tính toàn cục

Cấu hình mặc định cho phép các thuộc tính sau trên tất cả các phần tử.

Thuộc tính toàn cục HTML

Thuộc tính toàn cục MathML

Thuộc tính SVG