如何设置Content-Security-Policy请求头中的可信来源
时间: 2024-09-26 12:18:18 浏览: 62
content-security-policy.com:content-security-policy.com网站的源代码
Content-Security-Policy (CSP) 请求头用于控制网页内容的安全策略,其中涉及到指定哪些源允许加载资源。要设置可信来源,你可以使用`connect-src`, `img-src`, `script-src`, 等子头来分别控制连接、图像、脚本等资源的来源。
1. **基本示例**:
- 如果你想限制只有你的域`example.com`可以加载JavaScript,你可以这样做:
```http
Content-Security-Policy: script-src 'self' example.com;
```
2. **使用通配符**:
- 使用 `*` 表示所有来源都可以,但这是最低安全级别的设置,推荐仅限于特定情况:
```http
Content-Security-Policy: script-src 'strict-dynamic' *;
```
- `'strict-dynamic'` 可防止跨站跟踪,仅允许在页面首次加载时加载的脚本动态更改。
3. **使用CSP预加载指示器**:
- 使用 `nonce-` 或 `sha256-` 后接一个随机字符串,可以在允许第三方资源的同时提供额外防护:
```http
Content-Security-Policy: script-src 'nonce-abc123';
```
- 这样做的前提是服务器端需要返回对应的`Content-Security-Policy-Report-Only`头部,客户端收到后检查是否匹配。
4. **使用`block-all-mixed-content`策略**:
- 为了阻止混合内容(如HTTP资源在HTTPS上下文中),添加此指令:
```http
Content-Security-Policy: default-src 'none'; object-src 'self';
```
- 然后明确地列出哪些类型的内容源是允许的。
记得在实际部署时,要定期审查并更新CSP策略,确保它符合最新的应用需求,并保护用户免受潜在威胁。
阅读全文