DOMPurify 是一个用于清理 HTML 的 JavaScript 库,旨在防止跨站脚本攻击(XSS)。它通过删除或编码潜在危险的 HTML 和 JavaScript 代码片段来实现这一点。
DOMPurify 的核心功能是净化用户输入或不可信来源的 HTML,以确保在将其插入到网页中时不会执行恶意脚本。
DOMPurify 主要有两种使用方式:
以下是一个简单的浏览器端使用示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DOMPurify Example</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/2.4.0/purify.min.js"></script>
</head>
<body>
<div id="content"></div>
<script>
const dirty = '<img src=x onerror=alert(1)//>';
const clean = DOMPurify.sanitize(dirty);
document.getElementById('content').innerHTML = clean;
</script>
</body>
</html>
在这个示例中,dirty
变量包含一个恶意的 onerror
事件处理器,DOMPurify 会将其净化,确保不会执行任何恶意代码。
通过使用 DOMPurify,开发者可以有效地提高应用程序的安全性,防止常见的 XSS 攻击。