csp主要是方式xss注入(网页注入js,跨域攻击)

1.使用方法:head里面添加meta属性值为http-equiv="Content-Security-Policy"
例如:全部仅加载本地资源, <meta http-equiv="Content-Security-Policy" content="default-src 'self'"/>
2.资源加载限制
script-src:外部脚本
style-src:样式表
img-src:图像
media-src:媒体文件(音频和视频)
font-src:字体文件
object-src:插件(比如 Flash)
child-src:框架
frame-ancestors:嵌入的外部资源(比如<frame>、<iframe>、<embed>和<applet>)
connect-src:HTTP 连接(通过 XHR、WebSockets、EventSource等)
worker-src:worker脚本
manifest-src:manifest 文件
3.关键词: 'self' -当前域名   'none' - 禁止加载任何外部
例如:仅允许加载当前域名的图片,本地css及bootsrtaps的css  <meta http-equiv="Content-Security-Policy" content="img-src 'self',style-src 'self' https://www.bootcss.com/ "/>
4.report-uri:反馈注入报告,当发现注入行为,会给指定连接发送一个报告文件

例如:<meta http-equiv="Content-Security-Policy" content="default-src 'self',report-uri '/my_amazing_csp_report_parser'"/>

<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://cdn.bootcss.com",report-uri '/my_amazing_csp_report_parser'"/>
<meta http-equiv="Content-Security-Policy" content="default-src 'self',report-uri '/my_amazing_csp_report_parser'"/>
<meta http-equiv="Content-Security-Policy" content="img-src 'self',style-src 'self' https://cdn.jsdelivr.net/ "/>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"/>

这样限制之后,其余的js/css等文件将不能被引入,浏览器会自动识别!

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
转载请注明来源:网站CSP安全策略 - Qui-Note