Content-Security-Policy头具体怎么配置?
时间: 2024-08-17 22:00:53 浏览: 260
`Content-Security-Policy` (CSP) 是一个HTTP响应头部,用于帮助浏览器限制网页内容的加载行为,从而增强网站的安全性。一个基本的CSP配置可能会包括以下几个部分:
```html
<meta http-equiv="Content-Security-Policy" content="...">
```
或者在服务器端的响应头里设置:
```http
Content-Security-Policy: <policy-directives>
```
其中,`<policy-directives>` 包含一组指令,例如:
- `default-src`: 指定默认资源来源,通常设置为主站地址,`'self'` 表示仅允许页面本身加载资源。
- `script-src`: 控制外部脚本的加载,可以是白名单,也可以使用 `'nonce-'` 或 `sha256-...` 来限制特定内容。
- `style-src`: 同样适用于样式文件的加载规则。
- `img-src`: 图像资源的来源。
- `connect-src`: 对于API调用等跨域通信的控制。
例子:
```html
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:;">
```
这个例子中,只允许从当前域名、CDN.example.com加载脚本和图片,并且内联样式是安全的(`'unsafe-inline'`),但不允许从其他地方加载CSS。
要确保政策生效,浏览器会在文档开始加载时解析CSP头并应用相应的规则。不断测试和更新CSP策略是非常必要的,因为它能够随着威胁的变化而调整防御措施。
阅读全文