防止XSS攻击的大招-CSP内容安全策略

小文blog小文 2018-12-12 12:14 292人围观

简介

Content Security Policy简称CSP,实质就是白名单,告诉浏览器可以加载哪些外部资源,开发者通过CSP的配置,可以大大增强网站的安全,避免被XSS攻击。

使用

设置http header头信息 Content-Security-Policy

Content-Security-Policy:script-src 'self'; object-src 'none';style-src cdn.example.org third-party.org; child-src https:

设置meta信息

<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; frame-src https:">

配置项

script-src:设置脚本来源
object-src:设置<object>标签
style-src:设置样式表来源
frame-src:设置iframe框架
default-src:各个选项的默认值, ’self’加载本站
report-uri:设置个url,会把行为报告发送到这个上面

配置值

域名:www.az1314.cn https:www.az1314.cn:443
路径名:xx.com/xx/xx
通配符:*.xx.com *://*.xx.com:*
协议名:https:   http:   xxx:
'Self':当前域名
'none':禁止加载任何外部资源

多个值用空格间隔,多个配置项用分号间隔。

CORS与CSP区别

CORS,跨域资源共享,允许站点A通过XHR请求向B站点请求数据。通常AJAX跨站的话,为了避免浏览器同源策略,服务端设置CORS。

CSP允许站点阻止 本身 从意外来源加载(潜在恶意)内容(例如作为对XSS的防御)。

转载请注明来自小文blog,本文标题:防止XSS攻击的大招-CSP内容安全策略

发布评论
生活是一场戏,主角当累了,你亦可成为观众,停下脚步,歇一歇