内容安全策略( CSP )

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'  

[demo]

2.允许所有内容来自信任的域名,或指定域名

Content-Security-Policy: default-src 'self' *.baidu.com

[demo]

3.分别控制网页的图片,音频或视频,脚本

Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src luoyongjie.cn

[demo]

4.  Content-Security-Policy-Report-Only: /something/

这个属性只会产生警告不强制失败

[demo]

5.还能发送违法请求

Content-Security-Policy: default-src 'self'; report-uri http://reportcollector.example.com/collector.cgi

这里就不写demo了