安全头响应头(一)Content-Security-Policy_add_header content-security-policy

[2]、它的实现和执行全部’由浏览器完成’,开发者只需’提供CSP头配置’

备注: 取决于’浏览器’的’支持’程度

[3]、来限制’哪些外部资源(如JavaScript、CSS、图像等)‘可以’被加载’,从’哪些url’加载

  1. 大大增强了’网页的安全性’,攻击者即使发现了漏洞,'也没法’注入脚本

![](https://img-blog.csdnimg.cn/e5685513d170484dbc00b23f038329db.png)


②  启用CSP的两种方法


![](https://img-blog.csdnimg.cn/f94b2c4b5fac4d4489d30055ee256ff8.png)



方式1: --> 添加’响应头’,注意"单双引号"嵌套

add_header Content-Security-Policy “script-src ‘self’; object-src ‘none’”;

方式2: --> html中’head标签’内嵌’meta标签’

优先级: 如果 HTTP 头与 Meta 定义’同时’存在,则’优先采用 HTTP 中’的定义


③   CSP语法



  1. default-src是’CSP指令’,多个指令之间用’英文分号;'分割;

  2. 'self’是’source’值,'多个’指令值用’英文空格’分割


④  [CSP指令汇总]( )  [各个指令的解读]( )



实质: ‘资源类型’ 限制选项,掌握’常见’的即可

  1. script-src:定义’js文件’的过滤策略

  2. style-src: 样式表’css’

  3. img-src: 图像’各种格式’

  4. media-src: 媒体文件’音频和视频’ --> 如’ , '等元素

  5. font-src: 字体文件

  6. object-src:插件’比如 Flash’

  7. child-src: 框架

  8. frame-src: 嵌入的’子frame’资源 ‘比如、、’

  9. connect-src:定义请求连接文件的过滤策略 ‘(通过 XHR、WebSockets、EventSource等)’

    script-src * ‘self’ ‘unsafe-eval’ ‘unsafe-inline’ blob: data: gap:;

  10. worker-src:worker脚本 --> “了解”

  11. manifest-src:‘manifest 文件’

  12. default-src ‘self’ 用来设置上面’各个选项’的’默认’值 --> “当前域名”,需要’加引号’

备注: 如果同时设置某个单项限制’比如font-src’和’default-src’,前者会’覆盖’后者

+++++++++++ “其它” +++++++++++

base-uri:限制’<base#href>’

form-action:限制’<form#action>’

重点1:如果同一个限制选项’使用多次’,只有’第一次’会生效

重点2:由于 img-src ‘不存在’,它使用的是 ‘default-src’;如果’存在’,则会’覆盖’


[Content Security Policy (CSP)中blob:的用法]( )中blob:的用法 ")  [object-src blob]( )  [blob协议]( )


⑤ [scp官网default-src指令解读]( )   [default-src指令]( )


![](https://img-blog.csdnimg.cn/15d117af695041e59faa1403683fdb8c.png)


![](https://img-blog.csdnimg.cn/5c4ac2f8db044a289aa822baa5f39360.png)


![](https://img-blog.csdnimg.cn/15f0b5117ae444ada9bd28a09c7e4ab4.png)


![](https://img-blog.csdnimg.cn/268f345b3d9d4af2a2dd8c4a044c3ee1.png)


⑥    CSP 常用source值



+++++++ “(1) host-source” +++++++

备注: ‘推荐’完整的白名单,尽量不只使用’协议’或’通配符’


![](https://img-blog.csdnimg.cn/8fdda8c298b346c691193ca3643b800c.png)


[source相关参考]( )



每个’CSP限制选项’可以设置’以下几种值’,这些值就构成了’白名单’。

  1. 多个主机名:example.org https://example.com:443

  2. 带url:example.org/resources/js/

  3. 通配符:.example.org,😕/.example.com:‘(表示任意协议、任意子域名、任意端口)’

  4. 关键字’self’:当前域名,需要’加引号’

  5. 关键字’none’:‘禁止’加载任何外部资源,需要加’引号’



+++++++ “(2) scheme-source” +++++++


![](https://img-blog.csdnimg.cn/a1a131ee59dc4b73a7495b9fab27a94a.png)


 [data:协议]( )



网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值