ginx配置Content-Security-Policy加载eval()
时间: 2024-10-17 09:01:02 浏览: 27
集成了nginx-http-flv-module 1.2.7模块的64位nginx程序
5星 · 资源好评率100%
Content-Security-Policy (CSP) 是一种HTTP头部字段,用于帮助网站控制资源的安全性,防止恶意脚本注入等攻击。如果你想要在NGINX服务器上配置CSP并阻止`eval()`函数的使用,你需要在`http`块或`server`块内添加`Content-Security-Policy`设置。
以下是基本的NGINX配置示例,其中`default-src`部分设置了不允许来自外部的`eval()`:
```nginx
server {
listen 80;
server_name your_domain.com;
# 添加 Content-Security-Policy 配置
add_header Content-Security-Policy "default-src 'self'; script-src 'none'; object-src 'none'; style-src 'self';";
# 如果你想允许特定来源的脚本,但排除eval(),可以这么写:
add_header Content-Security-Policy "default-src 'self'; script-src 'nonce-<random_value>'; eval-src 'none';";
# 这里 `<random_value>` 需要用到随机字符串替换,它会生成一个唯一的值并绑定到特定的脚本运行
# 其他常规的NGINX配置...
}
```
在这个例子中,`script-src 'none';` 禁止了所有脚本加载,而 `eval-src 'none';` 则特别指出了`eval()`函数是禁止使用的。`default-src 'self';` 限制了只能从当前域名加载资源。
阅读全文