混合内容分两类
HTTPS 页面加载 HTTP 资源就是混合内容。浏览器把脚本、样式、iframe、XHR 这类能改变页面行为的资源称为主动混合内容,默认直接阻断;图片、音视频等被动混合内容通常只降级为警告,但仍会削弱整体的安全保证,攻击者可以替换这些资源内容。检查在浏览器控制台与页面资源清单两侧同时进行。
基本信息
| 适用平台 | 所有 HTTPS 站点,含内嵌第三方资源的前端 |
|---|---|
| 分类 | 主动混合内容(脚本/样式/iframe/XHR,被阻断)、被动混合内容(图片/音视频,警告) |
| 检查方式 | 浏览器开发者工具控制台与网络面板 |
| 修复方向 | 统一资源协议为 HTTPS,配合 HSTS 与升级策略 |
典型使用场景
- 全站改造 HTTPS 后的资源残留排查
- 加载第三方内容(统计、地图、字体)时的协议核查
- 排查“部分浏览器能打开、部分功能异常”的前端问题
- CMS 与老系统迁移 HTTPS 后的兼容性检查
- 为前端资源治理提供按页面、按资源类型的清单
检查方式
检查方式
1. 打开目标页面,在浏览器开发者工具控制台收集混合内容告警
2. 在资源面板按协议筛选出所有 http:// 引用,区分自有域与第三方域
3. 逐项核对第三方是否支持 HTTPS(不支持时考虑本地托管替代)
4. 检查表单提交目标与 iframe 嵌入地址是否同样是 HTTPS
5. 记录:页面地址、资源类型、影响(功能阻断或仅显示降级)资源类型与影响
| 资源类型 | 分类 | 影响 |
|---|---|---|
| 脚本与样式 | 主动 | 被浏览器阻断,页面功能或布局异常 |
| iframe | 主动 | 嵌入内容不显示或被拒绝加载 |
| XHR 与 fetch | 主动 | 接口请求被阻断 |
| 图片与图标 | 被动 | 可被中间人替换,内容不可信 |
| 音视频 | 被动 | 可被替换或插入篡改内容 |
| 表单提交目标 | 取决于类型 | 数据以明文提交,存在泄露风险 |
阶段性缓解可以用内容安全策略中的升级不安全请求指令,让浏览器把 HTTP 资源自动升级为 HTTPS 请求;但根因仍是资源协议整治,第三方不支持 HTTPS 时要换成本地托管或替代方案。
强制升级前先确认第三方资源支持 HTTPS:直接切换会让原本可用的资源加载失败,表现为线上功能缺失。