CSP 通俗的来说就是可以根据header的字段,或者meta标签,限制页面的script,图片,video等外部自由的加载来源,以达到防止被XSS的目的
下面来实践一下:
header 可以设置:Content-Security-Policy
或者在
meta 设置 <meta http-equiv="Content-Security-Policy" content="default-src 'self'">
这里方便我做测试,就使用meta方式吧
常用设置如下:
1.所有内容均来自站点的同一个源
Content-Security-Policy: default-src 'self'
2.允许所有内容来自信任的域名,或指定域名
Content-Security-Policy: default-src 'self' *.baidu.com
3.分别控制网页的图片,音频或视频,脚本
Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src luoyongjie.cn
4. Content-Security-Policy-Report-Only: /something/
这个属性只会产生警告不强制失败
5.还能发送违法请求
Content-Security-Policy: default-src 'self'; report-uri http://reportcollector.example.com/collector.cgi
这里就不写demo了