CSP 内容安全策略( content security policy )

会有一股神秘感。 提交于 2019-11-29 01:03:42

1,背景

跨域脚本攻击,网络安全漏洞,于是就有了内容安全防护策略,从根本上解决这个问题。

2,启用CSP的方式有两种

    a, 修改meta标签,http-equive

    b, 服务器响应头设置

3,主要的CSP策略有5

 

   res.writeHead(200, {        'Content-Type': 'text-html',
        'Content-Security-Policy': 'default-src http: https:' 
   });

 

    a, 不允许使用内联脚本或样式 

     'Content-Security-Policy': 'default-src http: https:'

 b, 允许加载指定域名下的文件资源    'Content-Security-Policy': 'default-src \'self\''
 'Content-Security-Policy': 'default-src \'self\' https://cdn.bootcss.com/'
 c, 防止表单提交时访问站点
    <form action="https://baidu.com">  会跳转到百度页面
        <button>click me</button>
    </form>
 'Content-Security-Policy': 'default-src \'self\' https://cdn.bootcss.com/; form-action \'self\''
  d, default-src设置的是全局,如果我只想限制js的请求,可以将default-src改为script-src  'Content-Security-Policy': 'script-src http: https:' e, 设置响应报告,浏览器会给服务器 主动发送 report api的请求,返回具体的违背信息。限制的同时一起发送报告

   'Content-Security-Policy': 'script-src \'self\'; report-uri /report'

 d, 仅仅发送报告,不执行CSP策略   Content-Security-Policy-Report-Only  
<meta http-equiv="Content-Security-Policy" content="form-action 'self';">和服务端设置效果相同,但不能发送报告。CSP详细策略可参考HTML5开发规范  新标签打开。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!