1

在我的具有 SSL 认证 URL 的网站中,我需要包含静态内容的 http 内容 - JS、CSS、图像等。

例如,https://www.example.com将参考的页面http://subdomain.example.com/images/a.jpg

有没有办法在 HTTPS 页面中包含 HTTP 元素,避免浏览器中的任何安全警报?

4

3 回答 3

3

不可以。安全警告的存在是有原因的,无法绕过。

如果有人通过中间人攻击改变了 JS 途中怎么办?他们可以添加自己的代码并拥有对 DOM 的完全访问权限,从而使 SSL 毫无价值。

为了安全起见,您需要通过 HTTPS 加载整个页面,而不仅仅是 HTML 文档。如果你是安全的,那么关于不安全的警告就会消失。

于 2012-11-14T12:52:42.193 回答
2

调用静态资产时无需定义 http://。你可以使用相对协议的 url,基本上你可以这样做:

<img src="//subdomain.abc.com/images/a.jpg" alt="">

它将通过与您所在页面相同的协议获取图像。保罗爱尔兰人会在他的博客上比我解释得更好

于 2012-11-14T13:03:39.870 回答
1

如果您的 https 页面包含 http 内容,我认为您无法绕过安全警报(在提供安全警报的浏览器上)。但请检查引用是否也适用于 https(当然取决于服务器)。如果是这样,您可以使用像 //subdomain.example.com/images/a.jpg 这样的 URL,这意味着将使用页面本身的协议(http 或 https)。

于 2012-11-14T12:53:02.893 回答