ginx配置Content-Security-Policy script-src
时间: 2024-10-17 10:00:58 浏览: 19
集成了nginx-http-flv-module 1.2.7模块的64位nginx程序
5星 · 资源好评率100%
Nginx 配置 `Content-Security-Policy`(CSP)时,关于 `script-src` 字段,它用于指定哪些来源的脚本是允许加载的。在 Nginx 的配置中,你可以添加 `add_header` 或 `http_headers_on` 来设置 CSP,例如:
```nginx
server {
add_header Content-Security-Policy "default-src 'self'; script-src 'nonce-{base64hash}';"; # 使用nonce策略防止XSS攻击
# 或者使用strict-dynamic策略,仅允许动态创建的内联脚本
add_header Content-Security-Policy "default-src 'self'; script-src 'strict-dynamic';";
# 如果你想限制特定的外部资源
add_header Content-Security-Policy "default-src 'self'; script-src https://example.com;";
# 如果你需要禁用 eval() 和 inline JavaScript
add_header Content-Security-Policy "default-src 'self'; script-src 'none';";
}
```
在这个例子中:
- `default-src 'self'` 设置默认允许来自服务器本身的资源。
- `script-src` 可以设置为 `'nonce-{base64hash}'`,这使用了非预期的哈希值(nonce),防止跨站脚本攻击(XSS)。
- `'strict-dynamic'` 允许动态生成并立即执行的内联脚本。
- `'none'` 禁止所有脚本加载,只适用于不需要运行JavaScript的情况。
请注意,具体的配置应根据你的应用需求和安全性考虑来制定,并确保遵守CSP的最佳实践。
阅读全文