
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1.2 CSP
CSP(Content Security Policy,内容安全策略)是一种增强型的安全措施,旨在检测和缓解各种攻击,特别是跨站脚本攻击(XSS)和数据注入攻击。CSP的显著优势在于,它是在浏览器层面实施防护机制,与同源策略处于同一安全级别。除非浏览器本身存在漏洞,否则从原理上讲,攻击者无法绕过这一保护机制。CSP严格限制了允许执行的JS代码块、JS文件、CSS等资源的解析,并且只允许向预先设定的域名发送请求,从而确保了网络内容的安全性。
一个简单的CSP规则如下所示。

CSP规则的指令分很多种,每种指令分管浏览器中请求的一部分,如图1-1所示。

图1-1 CSP规则的指令
每种指令都有独特的配置,如表1-1所示。简而言之,针对各种数据来源和资源加载方式,CSP都设有相应的策略。
表1-1 每种指令的配置

我们可以这样理解:如果一个网站实施了足够严格的CSP规则,那么XSS或CSRF就能从根源上得到防范。然而,实际情况真的如此吗?