Nginx配置Http响应头安全策略_nginx content-security-policy

| style-src | 控制CSS样式表的加载来源,防止加载恶意样式表。 |
| report-uri | 指定报告异常信息的URI,方便管理员及时发现和处理安全问题。 |
| upgrade-insecure-requests | 要求浏览器将所有HTTP请求升级为HTTPS请求,提高安全性。 |
| sandbox | 对页面中的某些元素进行限制,防止恶意代码对其进行操作。 |

注:以下是一些常见参数及其说明和示例。可以根据具体需求进行配置。

3.2default-src指令的参数、说明和示例
参数 说明 示例
self 允许加载同源的资源 default-src 'self';
* 允许加载任意来源的资源 default-src '*';
none 不允许加载任何资源,是最严格的设置 default-src 'none';
unsafe-inline 允许内联脚本和样式,但存在安全风险 default-src 'unsafe-inline';
unsafe-eval 允许使用eval()函数执行代码,存在安全风险 default-src 'unsafe-eval';
strict-dynamic 只允许动态生成脚本和样式,不允许内联脚本和样式 default-src 'strict-dynamic';
https: 只允许加载HTTPS资源 default-src 'https:';
data: 允许加载data:协议的资源,如文件上传等 default-src 'data:';

以下是一个示例(允许从同一域名加载资源):

server {
    listen 80;
    server_name example.com;

    location / {
        add_header Content-Security-Policy "default-src 'self';";
        # 其他配置...
    }
}

3.3connect-src指令的参数、说明和示例
参数 说明 示例
self 允许加载同源的资源 connect-src 'self';
* 允许加载任意来源的资源 connect-src '*';
none 不允许加载任何资源,是最严格的设置 connect-src 'none';
report-sample 要求浏览器报告所有连接请求的样本,用于调试和分析 connect-src 'report-sample';
unsafe-inline 允许内联脚本和样式,但存在安全风险 connect-src 'unsafe-inline';
unsafe-eval 允许使用eval()函数执行代码,存在安全风险 connect-src 'unsafe-eval';
strict-dynamic 只允许动态生成脚本和样式,不允许内联脚本和样式 connect-src 'strict-dynamic';
https: 只允许加载HTTPS资源 connect-src 'https:';
data: 允许加载data:协议的资源,如文件上传等 connect-src 'data:';

以下是一个示例(允许从 example.com 的 API 加载资源):

server {
    listen 80;
    server_name example.com;

    location / {
        add_header Content-Security-Policy "connect-src 'self' https://api.example.com;";
        # 其他配置...
    }
}

3.4font-src指令的参数、说明和示例
参数 说明 示例
self 允许加载同源的资源 font-src 'self';
* 允许加载任意来源的资源 font-src '*';
none 不允许加载任何资源,是最严格的设置 font-src 'none';
data: 允许加载data:协议的资源,如文件上传等 font-src 'data:';
https: 只允许加载HTTPS资源 font-src 'https:';
report-sample 要求浏览器报告所有字体请求的样本,用于调试和分析 font-src 'report-sample';

以下是一个示例(允许从 Google 字体 API 加载字体资源):

server {
    listen 80;
    server_name example.com;

    location / {
        add_header Content-Security-Policy "font-src 'self' https://fonts.googleapis.com;";
        # 其他配置...
    }
}

3.5form-src指令的参数、说明和示例
参数 说明 示例
self 允许表单提交到同源的URL form-action 'self';
* 允许表单提交到任意URL form-action '*';
none 不允许表单提交,是最严格的设置 form-action 'none';
report-sample 要求浏览器报告所有表单提交的样本,用于调试和分析 form-action 'report-sample';

以下是一个示例(允许从同一域名加载表单资源):

server {
    listen 80;
    server_name example.com;

    location / {
        add_header Content-Security-Policy "form-src 'self' https://example.com/forms;";
        # 其他配置...
    }
}

3.6frame-ancestors指令的参数、说明和示例
参数 说明 示例
self 允许嵌套的frame或iframe加载同源的资源 frame-ancestors 'self';
* 允许嵌套的frame或iframe加载任意来源的资源 frame-ancestors '*';
none 不允许嵌套的frame或iframe加载任何资源,是最严格的设置 frame-ancestors 'none';
report-sample 要求浏览器报告所有嵌套的frame或iframe的来源样本,用于调试和分析 frame-ancestors 'report-sample';

以下是一个示例(禁止任何框架嵌套):

server {
    listen 80;
    server_name example.com;

    location / {
        add_header Content-Security-Policy "frame-ancestors 'none';";
        # 其他配置...
    }
}

3.7frame-src指令的参数、说明和示例
参数 说明 示例
self 允许嵌套的frame或iframe加载同源的资源 frame-src 'self';
* 允许嵌套的frame或iframe加载任意来源的资源 frame-src '*';
none 不允许嵌套的frame或iframe加载任何资源,是最严格的设置 frame-src 'none';
report-sample 要求浏览器报告所有嵌套的frame或iframe的来源样本,用于调试和分析 frame-src 'report-sample';
https: 只允许嵌套的frame或iframe加载HTTPS资源 frame-src 'https:';
data: 允许嵌套的frame或iframe加载data:协议的资源,如文件上传等 frame-src 'data:';

以下是一个示例(允许从同一域名加载框架资源

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值