内容安全策略(Content Security Policy,简称CSP)是HTTP头中的一项安全机制,用于防止跨站脚本攻击(XSS)、数据注入等安全威胁。通过定义允许加载资源的来源,可以有效限制恶意代码的执行。
核心功能 ✅
- 阻止非法脚本执行:指定
script-src
仅允许信任的域名加载脚本 - 防范数据泄露:通过
connect-src
控制API请求来源 - 阻止样式劫持:限制
style-src
防止外部CSS篡改页面 - 安全报告机制:启用
report-uri
收集违规报告
常见策略指令 📋
指令 | 作用 | 示例 |
---|---|---|
default-src |
默认资源加载策略 | default-src 'self' |
script-src |
脚本加载来源 | script-src https://trusted-cdn.com |
img-src |
图片加载来源 | img-src data: https://images.example.com |
frame-ancestors |
控制嵌入框架的来源 | frame-ancestors 'none' |
配置建议 🔧
- 在服务器响应头中添加:
Content-Security-Policy: script-src 'self'; style-src 'self'
- 在HTML标签中配置:
<meta http-equiv="Content-Security-Policy" content="script-src 'self'">
- 配合
report-uri
使用:Content-Security-Policy: script-src 'self' report-uri /csp-report-endpoint
扩展阅读 📚
通过合理配置CSP,可以显著提升网站安全性。建议结合安全审计工具定期检查策略有效性。