# 安全测试
> **何时使用**:验证应用程序对常见 Web 漏洞的防御能力——XSS、CSRF、不安全的 Cookie、缺失的安全头、认证绕过以及敏感数据泄露。Playwright 不能替代专业的安全扫描工具,但它能在 E2E 测试套件中捕获最常见的问题。
> **前置条件**:[core/assertions-and-waiting.md](assertions-and-waiting.md)、[core/authentication.md](authentication.md)
## 快速参考
```typescript
// 每次导航时检查安全响应头
const response = await page.goto("/dashboard")
expect(response.headers()["content-security-policy"]).toBeDefined()
expect(response.headers()["x-frame-options"]).toBe("DENY")
// 验证 Cookie 安全标志
const cookies = await context.cookies()
const sessionCookie = cookies.find((c) => c.name === "session")
expect(sessionCookie.httpOnly).toBe(true)
expect(sessionCookie.secure).toBe(true)
expect(sessionCookie.sameSite).toBe("Strict")
```
## 模式
### XSS 注入测试
**何时使用**:验证用户输入已被正确转义并以文本而非 HTML 形式渲染。
**何时避免**:需要进行全面的 XSS 扫描——应配合使用 OWASP ZAP 等专用工具,而非仅依赖 Playwright。
**TypeScript**
```typescript
import { test, expect } from "@playwright/test"
const XSS_PAYLOADS = [
'',
'
',
'">',
"javascript:alert('xss')",
'