JavaScript 可通过以下方法防止 XSS 攻击:1. 内联事件处理程序;2. 转义用户输入;3. 内容安全策略 (CSP);4. XSS 过滤库;5. 输入验证;6. HTTP 安全首部;7. 定期软件更新。

如何使用 JavaScript 防止 XSS 攻击?
跨站点脚本 (XSS) 攻击是一种网络安全漏洞,攻击者可以利用它在受害者的浏览器中执行恶意脚本。JavaScript 是前端开发中常用的编程语言,可以通过以下方法防止 XSS 攻击:
1. 使用内联事件处理程序
使用内联事件处理程序可以将事件处理程序限定在当前文档中,防止跨域脚本访问:
<code class="javascript"><button onclick="alert('Hello!')">点击我</button></code>2. 转义用户输入
转义用户输入可以防止恶意脚本字符被解释为代码:
<code class="javascript">let input = '<script>alert("XSS");</script>';
let escapedInput = input.replace(/</g, "<").replace(/>/g, ">");</code>3. 使用内容安全策略 (CSP)
CSP 是一组 HTTP 首部,它限制了可加载到页面中的资源,可防止恶意脚本的执行:
<code class="javascript">header('Content-Security-Policy: default-src \'self\'; script-src \'self\'');</code>4. 使用 XSS 过滤库
XSS 过滤库是一个代码库,提供可用于转义用户输入和验证请求的预构建函数:
<code class="javascript">let filteredInput = xss.filter(input);</code>
5. 使用输入验证
输入验证可以确保用户输入符合预期格式,防止恶意字符的注入:
<code class="javascript">if (!/^\d+$/.test(input)) {
throw new Error("Invalid input");
}</code>6. 设置 HTTP 安全首部
HTTP 安全首部可以帮助保护网站免受 XSS 攻击:
- X-XSS-Protection:启用 XSS 过滤。
- X-Content-Type-Options:防止浏览器猜测 MIME 类型。
- X-Frame-Options:防止网站在其他网站中被加载。
7. 定期更新软件
保持软件是最新的可以解决已知的安全漏洞,包括 XSS 漏洞。










