通过使用图像源的协议相对URL来防止安全/不安全的错误

rob*_*lls 13 html https image http protocol-relative

是否有人知道使用图像源的协议相对URL来防止混合内容安全警告是否有问题.

例如,链接图像,如:

<img src="//domain.com/img.jpg" />
Run Code Online (Sandbox Code Playgroud)

代替:

<img src="http://domain.com/img.jpg" />
or
<img src="https//domain.com/img.jpg" />
Run Code Online (Sandbox Code Playgroud)

在我的测试中,我没有看到任何暗示这是错误的,但我不确定它是否会产生问题的边缘情况.

编辑我已经看到它在使用PHP的getimagesize函数时抛出错误.

rob*_*lls 14

找到了使用协议相对URL的有趣问题:

您必须小心只在发往浏览器的页面中使用此语法.如果您将其放入电子邮件中,则不会使用基页URL来解析相对URL.至少在Outlook中,此URL将被解释为Windows网络文件,而不是您的意图.

这里开始

基本上虽然没有正当理由,但只要请求是由浏览器而不是外部电子邮件客户端进行,这就不起作用.

从更多信息在这里:

根据RTF 3986,没有方案(http:或https :)的相对URL有效:第4.2节.如果客户端阻塞它,那么它就是客户端的错误,因为它们不符合RFC中指定的URI语法.

您的示例有效且应该有效.我自己在交通繁忙的网站上使用过这种相对网址方法而没有投诉.此外,我们在Firefox,Safari,IE6,IE7和Opera中测试我们的网站.这些浏览器都了解URL格式