## 什么是 XSS
跨站脚本攻击(Cross-Site Scripting,XSS)是一种常见的 Web 安全漏洞,攻击者通过在网页中注入恶意脚本代码来窃取信息。
## XSS 的三种类型
### 1. 反射型 XSS
恶意脚本存在于 URL 中,后端未经过滤直接输出到页面。
### 2. 存储型 XSS
恶意脚本被提交到服务器并存储在数据库中,每次访问都会执行。
### 3. DOM 型 XSS
通过修改页面的 DOM 节点形成的攻击,完全在客户端执行。
## 防御措施
### 输出编码
```html
<script>alert('XSS')</script>
```
### Content Security Policy
```http
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com
```
### HttpOnly Cookie
```javascript
Set-Cookie: session=abc123; HttpOnly; Secure; SameSite=Strict
```