content-secure-policy (CSP 内容安全策略),从csp1到csp3,支持指令越来越多,保护资源更多。目前支持浏览器越来越多。其被誉为专门为解决XSS攻击而生的神器。它主要是以白名单模式,限制js, css,image,iframe,media等加载资源来源。content-secure-policy 通过response header 头下发,当然一些指令支持 <meta 头配置,为了好的兼容性,放到 header 头配置较好。觉得不错欢迎转发,另外有问题请反馈! 华纳云_CN2物理服务器888元/月_5M CN2云16元/月
CSP指令记录 | 版本 | 指令解析 | csp项目解析 |
---|---|---|---|
content-security-policy: script-src 'self' ajax.googleapis.com www.baidu.com | V1 | <script>加载资源有效URL地址 | self: 只有同源才可以调用,需要协议、域名、端口相同 ------------------------------ 包含这些域名地址允许访问: ajax.googleapis.com,www.baidu.com |
content-security-policy: prefetch-src 'none' | V3 | 预加载标签有效URL地址 如:<link rel="prefetch" src="https://example.org/"> | none: 任何URL都不能访问 |
content-security-policy: report-uri /some-report-uri | V1 | 将违反CSP策略报告给指定url地址 | 包含这些域名地址允许访问: /some-report-uri |
content-security-policy: sandbox allow-forms allow-scripts | V3 | 资源启用类似于<iframe> sandbox属性的沙箱 | allow-forms: 允许嵌入式浏览上下文提交表单。如果未使用此关键字,则不允许此操作 allow-scripts: 允许嵌入式浏览上下文运行脚本(但不能创建弹出窗口)。如果未使用此关键字,则不允许此操作 |
content-security-policy: frame-src 'self' | V2 | 加载的嵌套如iframe 有效URL地址 | self: 只有同源才可以调用,需要协议、域名、端口相同 |
content-security-policy: connect-src 'self' | V1 | Fetch\XMLHttpRequest\WebSocket\EventSource\<a> ping 可以使用脚本接口加载的URL | self: 只有同源才可以调用,需要协议、域名、端口相同 |
content-security-policy: style-src 'self' css.example.com | V1 | <style>加载资源有效URL地址 | self: 只有同源才可以调用,需要协议、域名、端口相同 ------------------------------ 包含这些域名地址允许访问: css.example.com |
content-security-policy: default-src 'self' cdn.example.com | V1 | 设置child-src、connect-src、font-src、frame-src、img-src、manifest-src、media-src、object-src、script-src、style-src、worker-src 访问资源URL | self: 只有同源才可以调用,需要协议、域名、端口相同 ------------------------------ 包含这些域名地址允许访问: cdn.example.com |
content-security-policy: base-uri 'self' | V2 | 限制可以在文档<base>元素中使用的URL | self: 只有同源才可以调用,需要协议、域名、端口相同 |