Content-Security-Policy img-src script-src
时间: 2023-10-09 14:11:41 浏览: 81
Content-Security-Policy (CSP) 是一项安全策略,用于减少 Web 应用程序中的跨站点脚本攻击 (XSS)、点击劫持攻击等安全威胁。img-src 和 script-src 是 CSP 中的指令,分别用于控制网页中的图片和脚本加载。img-src 用于规定能够加载哪些域名下的图片,而 script-src 则用于规定能够加载哪些域名下的脚本。
相关问题
nginx配置Content-Security-Policy
Nginx的Content-Security-Policy (CSP) 配置允许网站管理员控制页面上可以加载的内容来源,以增强网页安全性和防止跨站脚本攻击。要在Nginx中启用CSP,你需要在服务器块(server block)的`http`或`location`上下文中添加`content-security-policy`指令。下面是一个基本的例子:
```nginx
server {
listen 80;
server_name yourdomain.com;
# 设置默认的Content Security Policy
add_header Content-Security-Policy "default-src 'self';
script-src 'self' https://ajax.googleapis.com;
style-src 'self' 'unsafe-inline';
img-src 'self' data:;";
# 如果有需要针对特定URL路径设置更详细的策略
location /api {
content-security-policy "script-src 'strict-dynamic'; frame-ancestors 'none';";
}
# 更多规则可以按需添加
}
```
在这个例子中:
- `default-src 'self'` 指定了默认的源来自当前域名及其子域。
- `script-src`、`style-src` 和 `img-src` 分别定义了JavaScript、内联样式和图片的源。
- `frame-ancestors 'none'` 禁止页面嵌套在其他帧中。
请注意,每行的政策声明之间通常用分号(`;`)隔开,每个`policy`指令后面可能会跟一些选项来指定具体的行为。
nginx Content-Security-Policy通用配置
Content-Security-Policy (CSP) 是一种HTTP头部字段,用于帮助网站保护其内容免受跨站脚本攻击(XSS)和其他类型的恶意代码注入。Nginx作为一款流行的Web服务器,允许设置CSP来控制客户端能访问哪些资源以及如何加载它们。
在Nginx中配置CSP通常涉及在`http`或`server`块中添加`Content-Security-Policy`头,示例如下:
```nginx
server {
listen 80;
server_name yourdomain.com;
# 启用CSP
add_header Content-Security-Policy "default-src 'self'; script-src 'nonce-<hash>'; img-src 'https://example.com'; style-src 'sha256-<hash>';";
# 使用自定义策略(这仅作示例,需替换实际安全策略)
add_header Content-Security-Policy "frame-ancestors 'none'; object-src 'none'; connect-src https:;";
# 生成nonce值(用于动态脚本)
if ($request_method = 'POST') {
set $content_security_policy_nonce "nonce-$request_body";
add_header Content-Security-Policy "script-src 'nonce-$content_security_policy_nonce';";
}
# 其他相关配置...
}
```
这里的配置解释:
- `default-src 'self'`: 默认只允许从当前源加载资源。
- `script-src 'nonce-<hash>'`: 针对动态脚本,使用`nonce`加上一个随机哈希值,每次请求都会改变这个哈希,防止预先计算好的脚本执行。
- `img-src 'https://example.com'`: 只允许从指定的HTTPS源加载图片。
- `style-src 'sha256-<hash>'`: 类似于图片,使用SHA256哈希来限制样式表的来源。
阅读全文