在我使用SSL认证网址的网站中,我需要包含静态内容的http内容 - JS,CSS,图像等。
E.g。 https://www.example.com
的页面将引用http://subdomain.example.com/images/a.jpg
。
有没有办法在HTTPS页面中包含HTTP元素,避免浏览器中的任何安全警报?
答案 0 :(得分:3)
没有。安全警告是有原因的,不能绕过。
如果有人用中间人攻击改变了JS航线怎么办?他们可以添加自己的代码并完全访问DOM,使SSL毫无价值。
为了安全起见,您需要通过HTTPS加载整个页面,而不仅仅是HTML文档。如果你是安全的,那么关于不安全的警告就会消失。
答案 1 :(得分:2)
调用静态资源时无需定义http://。您可以使用协议相对URL,基本上您可以这样做:
<img src="//subdomain.abc.com/images/a.jpg" alt="">
它将通过与您所在页面相同的协议获取图像。 保罗爱尔兰人会在his blog
上比我更好地解释答案 2 :(得分:1)
如果您的https页面包含http内容,我认为您不能绕过安全警报(在提供这些警报的浏览器上)。但是检查引用是否也适用于https(当然取决于服务器)。如果有,您可以使用//subdomain.example.com/images/a.jpg这样的网址,这意味着将使用网页本身的协议(http或https)。