SSL 证书是在线安全的坚实支柱,网购、金融机构、银行业以及其他将客户安全置于优先地位的组织都离不开它。然而,仅对登录表单或支付网关部署 SSL 证书是不够的——你应当将它应用到整个网站,包括框架、iframe、Flash、JavaScript。忽视这些不安全元素会引发混合内容错误"此页面包含安全与不安全的项目",从而降低网站的可信度。
混合内容错误的类型
通常有两种混合内容错误:混合脚本与混合被动内容。混合脚本错误发生在 HTTPS 站点通过 HTTP 运行脚本文件时,会损害网站安全,浏览器会拦截此类内容。第二种混合被动内容错误发生在 HTTPS 站点通过 HTTP 运行音频或图片文件时。这类内容对网站安全不构成风险,浏览器也不会严格计为错误,但对于已部署 SSL 的网站而言仍属不安全做法。
这对网站安全有何影响
黑客可发动中间人攻击(MITM),篡改传输中的数据并使网站失陷,导致隐私与用户数据的泄露。攻击者还能对此类被篡改的资源发动 DNS 欺骗攻击。用户还会看到关于安全与不安全的警告,这本身就是不友好的体验,会赶走网站访客。
如何发现网站上的不安全元素
在修复混合内容错误之前,必须先定位它。立海世纪提供 "Why No Padlock" 检测工具,可发现不安全的图片、CSS、JavaScript。只需在输入框中填入 URL,转瞬之间你就能得到网站上不安全元素的列表。
如何修复混合内容错误
网站所有者可通过几种方式修复混合内容错误,为用户提供顺畅且安全的体验:
在 Chrome 中消除错误
Chrome 引入了"Upgrade Insecure Requests(升级不安全请求)",它将 HTTP 请求视为 HTTPS,从而让用户摆脱混合内容错误。它允许开发者通过 HTTPS 轻松更新遗留内容,并为用户提供更好的安全性。如果你无法直接控制 Web 服务器,只需在页面中添加下面一行代码:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
在 Firefox 中消除错误
从 23 版起,Firefox 已开始拦截混合内容。网站所有者必须通过修改 HTML 源代码,让所有内容都通过 HTTPS 提供。
修改 URL
打开提供图片、iframe、Flash 的不安全页面,搜索 http://,将所有不安全项目的引用改为 HTTPS。例如:<img src="https://www.domain.com/image.gif" alt="" />。如果你要从一个尚未部署 SSL 的其他网站加载图片,该命令将无效。
将所有链接改为 HTTPS
无需把所有链接都改成 HTTPS,只需加入类似下面的命令:<img src="//www.domain.com/image.gif" alt="" />。应用该代码后,当网页以安全方式提供时,浏览器会安全地加载;若网页未加密,图片则按正常情况加载。如果图片或脚本位于同一域名,可使用:<img src="/image.gif" alt="" />。
修改浏览器设置
你可以修改显示错误的页面代码;若无法访问该代码,则可按以下步骤操作:浏览"工具">>"Internet 选项";在"安全"选项卡下点击"自定义级别"按钮;向下滚动找到"显示混合内容"并选择"启用";选择"启用"并点击"确定";会弹出"安全警告",点击"是"。
结语
当访客看到警告时,通常有两种反应:要么无视安全警告继续(这对他们而言有风险),要么留意安全警告并离开网站(这会降低网站效果与销量)。因此,建议修复网站上的混合内容错误,为用户与访客提供安全的浏览体验。