HTTP 协议首部字段 Content-Security-Policy
(CSP) 中的 block-all-mixed-content
指令在当前页面为通过 HTTPS 协议加载的情况下禁止通过 HTTP 渠道加载任何资源。
任何混合类型的资源请求都是被禁止的,包括混合活动内容和混合被动内容。这一条也适用于 <iframe>
中的文档,确保整体页面都不包含混合内容。
upgrade-insecure-requests
指令会在 block-all-mixed-content
之前执行;如果前者执行成功,后者就不再发挥任何作用。推荐的做法是设置二者之一,而不是全部。
语法
Content-Security-Policy: block-all-mixed-content;
示例
Content-Security-Policy: block-all-mixed-content; <meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
为了在更细粒度上限制对 http 资源的访问,你可以将个别指令的值设置为 "https:"。例如,为了限制对不安全的走 http 协议的图片的访问,可以这么做:
Content-Security-Policy: img-src https:
规范
Specification | Status | Comment |
---|---|---|
Mixed Content block-all-mixed-content |
Candidate Recommendation | Initial definition. |
浏览器兼容性
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | ? | 48.0 | No | (Yes) | ? |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | ? | (Yes) | ? | 48.0 | No | ? | ? |