CSP
内容安全策略CSP(Content-Security-Policy)_Cacra的博客-CSDN博客_content-security-policy
1、介绍
Content-Security-Policy,简称csp,是为解决xss设计的。
CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。
2、设置
可以在响应头部中声明,也可以在响应文档的meta标签声明。如果 HTTP 头与 Meta 定义同时存在,则优先采用 HTTP 中的定义。
Content-Security-Policy: "策略"
Content-Security-Policy-Report-Only: "策略"
<meta http-equiv="Content-Security-Policy" content= "策略">
<meta http-equiv="Content-Security-Policy-Report-Only content= "策略">
3、配置项
(1)所有内容均来自站点的同一个源 (不包括其子域名)
default-src 'self'
(2)允许内容来自信任的域名及其子域名 (域名不必须与CSP设置所在的域名相同)
default-src 'self' *.trusted.com
(3)允许网页应用的用户在他们自己的内容中包含来自任何源的图片, 但是限制音频或视频需从信任的资源提供者(获得),所有脚本必须从特定主机服务器获取可信的代码.
default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com
(4)一个线上银行网站的管理者想要确保网站的所有内容都要通过SSL方式获取,以避免攻击者窃听用户发出的请求。
default-src https://onlinebanking.jumbobank.com
(5)一个在线邮箱的管理者想要允许在邮件里包含HTML,同样图片允许从任何地方加载,但不允许JavaScript或者其他潜在的危险内容(从任意位置加载)。
default-src 'self' *.mailsite.com; img-src *