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

发布于 2024-10-04 13:20:03 字数 594 浏览 6 评论 0原文

有谁知道使用 图像源的协议相对 URL,以防止混合内容安全警告。

例如,链接像这样的图像:

<img src="//domain.com/img.jpg" />

而不是:

<img src="http://domain.com/img.jpg" />
or
<img src="https//domain.com/img.jpg" />

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

编辑我发现它在使用PHP的getimagesize 函数。

Is anyone aware of whether it is problematic to use protocol relative URLs for an image source to prevent mixed content security warnings.

For example linking an image like:

<img src="//domain.com/img.jpg" />

instead of:

<img src="http://domain.com/img.jpg" />
or
<img src="https//domain.com/img.jpg" />

In my testing i've not seen anything to suggest this is wrong but i'm not sure if it has edge cases where it will create problems.

EDIT i've seen it throw errors when using PHP's getimagesize function.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜吻♂芭芘 2024-10-11 13:20:03

发现了使用协议相对 URL 的一个有趣的问题:

你必须小心,只使用
目标页面中的此语法
浏览器。如果你把它放在电子邮件中,
将没有可用的基页 URL
在解析相对 URL 时。在
至少 Outlook,此 URL 将是
解释为 Windows 网络文件,
不是你想要的。

来自此处

本质上,虽然没有充分的理由说明为什么这不应该起作用,只要该请求是由浏览器而不是外部电子邮件客户端发出的。

更多信息来自此处

没有方案的相对 URL (http:
或 https:) 有效,根据 RTF 3986:
第 4.2 节。如果客户噎住了,
那么这是客户的错,因为
他们不遵守 URI
RFC 中指定的语法。

您的示例是有效的并且应该有效。
我已经使用了相对 URL 方法
我自己在流量大的网站上并且
零投诉。另外,我们
在 Firefox、Safari 中测试我们的网站,
IE6、IE7 和 Opera。这些浏览器都
了解 URL 格式

Found an interesting gotcha for the use of protocol relative URLs:

You have to be careful to only use
this syntax in pages destined for
browsers. If you put it in an email,
there will be no base page URL to use
in resolving the relative URL. In
Outlook at least, this URL will be
interpreted as a Windows network file,
not what you intended.

from here

Essentially though there are no valid reasons why this shouldn't work as long as the request is made by a browser and not an external email client.

more info from here:

A relative URL without a scheme (http:
or https:) is valid, per RTF 3986:
Section 4.2. If a client chokes on it,
then it's the client's fault because
they're not complying with the URI
syntax specified in the RFC.

Your example is valid and should work.
I've used that relative URL method
myself on heavily trafficked sites and
have had zero complaints. Also, we
test our sites in Firefox, Safari,
IE6, IE7 and Opera. These browsers all
understand that URL format

夏至、离别 2024-10-11 13:20:03

IE 7 and IE 8 will download stylesheets twice if you're using a protocol-relative URL. That won't affect you if you only use it "for an image source", but just in case.

っ〆星空下的拥抱 2024-10-11 13:20:03

使用协议相关 URL 时应考虑以下事项:

1) 所有现代浏览器都支持此功能。

2) 我们必须确保请求的资源可以通过 HTTP 和 HTTPS 访问。如果 HTTP 重定向到 HTTPS 没问题,但这里的加载时间会比直接向 HTTPS 发出请求要长一些。

3) Internet Explorer 6不支持此功能。

4) Internet Explorer 7 和 8 支持该功能,但如果 css 文件使用协议相关 URL,它们将下载样式表两次。

The following should be considered when using Protocol-Relative URLs:

1) All modern browsers support this feature.

2) We have to be sure that the requested resource is accessible over both HTTP and HTTPS. If HTTP redirects to HTTPS it is fine, but here the load time will take a little longer than if the request was made directly to the HTTPS.

3) Internet Explorer 6 does not support this feature.

4) Internet Explorer 7 and 8 support the feature, but they will download a stylesheet twice if protocol-relative URLs are used for the css files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文