Gmail 中的电子邮件缩略图网址更改为 googleusercontent.com

新手上路,请多包涵

我有一个系统,每当用户上传图片时,它都会向注册用户的 gmail 发送一封电子邮件。但在电子邮件中,我看到类似这样的内容,缩略图不可见。

在此处输入图像描述

我检查了元素,发现了 src 链接到这个 url: https://ci5.googleusercontent.com/proxy/VI2cPXWhfKZEIarh-iyKNz1j9q7Ymh8ty4Yz19lXh82RjSlACBzS0aRajfIj913uXAsX2ylcLEDs5FBsj4cR9TcU75Pw5djdHx4htxdCAQxs_ue1Q1wi5TV43uLLBpigpjH1xN747mUHSRdTBJmXQWFyykInJCRXicM1KhNk=s0-d-e1-ft#https://www.somedomain.com/files/1658/thumbnail_71JtDozxS1L._SY450_.jpg

显然它被谷歌代理缓存

但是我可以通过访问 https://www.somedomain.com/files/1658/thumbnail_71JtDozxS1L._SY450_.jpg 查看没有谷歌用户内容的图像(我屏蔽了域所以图像可能对您不可用)。

我试图清除浏览器缓存,但问题仍然存在。我怎样才能绕过 googleusercontent thingy 或至少使缩略图能够显示。

我在这个链接上结账 Images not displayed for Gmail 但我没有使用 localhost 并且图像本身可以在我的本地网络之外访问。

原文由 hades 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.8k
2 个回答

Google 图片代理如何工作

Google Image Proxy 是一个缓存代理服务器。每次电子邮件中包含图像链接时,请求都会首先转到 Google Image Proxy,看看它是否已被缓存,如果是,它应该从代理服务器提供它,或者它会去获取它并在之后缓存它。

大多数问题的解决方案

Google 图片代理服务器将在以下情况下获取您的图片:

  • 具有 .png , - , .jpg .jpeg .gif 也可能是 .webp 。但不是 .svg
  • 不要在图像 URL 中使用任何类型的查询字符串部分,例如 ?id=123
  • 有一个直接映射到图像上的 URL。
  • 名字不长。

图片服务器要求:

  • 来自图像服务器/代理服务器的响应必须包含正确的标头,如 Content-Type: image/jpeg
  • 文件扩展名和 content-type 标头必须是同一类型。
  • 服务器响应中的状态代码必须是 200 而不是 403、500 等。

还有什么可以帮忙的?

谷歌支持回答

设置图片 URL 代理白名单

当您的用户打开电子邮件时,Gmail 会使用 Google 的安全代理服务器来提供这些邮件中可能包含的图片。这可以保护您的用户和域免受基于图像的安全漏洞的侵害。

由于图像代理,依赖于内部 IP 的图像链接有时会损坏 cookie。图像 URL 代理白名单设置可让您通过创建和维护将绕过代理保护的内部 URL 白名单来避免图像链接断开。

当您配置图像 URL 代理白名单时,您可以指定一组域和一个路径前缀,可用于指定大型 URL 组。有关示例,请参见下面的指南。

配置图像 URL 代理白名单设置:

  • 登录 到您的 Google 管理控制台。使用 您的管理员帐户 登录( 以@gmail.com 结尾)。
  • From the Admin console Home page, go to Apps > G Suite > Gmail > Advanced settings . 提示: 要查看高级设置,请滚动到 Gmail 页面的底部。
  • 在左侧,选择您的顶级组织。
  • 滚动到 图像 URL 代理白名单 部分。
  • 输入图像 URL 代理白名单模式。匹配的 URL 将绕过图像代理保护。有关详细信息和说明,请参阅下面的指南。
  • 在底部,点击 保存

最多可能需要一个小时才能将更改传播到用户帐户。您可以在 管理控制台审核日志 下跟踪之前的更改。

应用图像 URL 代理白名单设置的指南

安全考虑

在配置图像 URL 代理白名单设置之前,请咨询您的安全团队。如果不小心使用,绕过图像代理白名单保护的决定可能会使您的用户和域面临安全风险。

一般来说,如果您有一个需要通过 cookie 进行身份验证的域,并且该域由您组织内的管理员控制并且完全受信任,那么将该 URL 列入白名单不应使您的域暴露于基于图像的攻击。

重要提示: 不建议禁用图像代理。此选项可用于为管理员提供灵活性,但禁用图像代理会使您的用户容易受到恶意攻击。

输入图像 URL 模式

要维护将绕过代理保护的内部 URL 白名单,请在图像 URL 代理白名单设置中输入图像 URL 模式。匹配的 URL 将绕过图像代理。

模式可以包含方案、域和路径。该模式在域和路径之间必须始终有一个正斜杠 ( / )。如果 URL 模式指定了方案,则方案和域必须完全匹配。否则,域可以部分匹配 URL 后缀。例如,模式 google.com 匹配 www.google.com ,但不匹配 --- gle.com 。 URL 模式可以指定与路径前缀匹配的路径。

重要提示: 在输入图像 URL 模式时输入您的实际域名。始终在域名后包含尾部正斜杠 ( / )。

图片 URL 模式示例

以下模式仅为示例。以下模式:

 http://rule_fixed_scheme_domain.com/
rule_flex_scheme_domain.com/
rule_fixed_subpath.com/cgi-bin/

… 将匹配以下 URL:

 http://rule_fixed_scheme_domain.com/
http://rule_fixed_scheme_domain.com/test.jpg?foo=bar#frag
http://rule_fixed_scheme_domain.com
rule_flex_scheme_domain.com/
t.rule_flex_scheme_domain.com/test.jpg
http://t.rule_flex_scheme_domain.com/test.jpg
https://t.rule_flex_scheme_domain.com/test.jpg
http://rule_fixed_subpath.com/cgi-bin/
http://rule_fixed_subpath.com/cgi-bin/people

注意: URL 方案 ( http:// ) 是可选的。如果省略方案,模式可以匹配任何方案,并允许在域后缀上进行部分匹配。

预览图像 URL 模式

单击 预览 以查看 URL 是否与您设置的图像 URL 模式相匹配。如果图像 URL 与模式匹配,您将看到一条确认消息。如果图像 URL 不匹配,则会显示一条错误消息。

原文由 Bharata 发布,翻译遵循 CC BY-SA 4.0 许可协议

Bharata 对此有一个很好而详细的答案,但只是想添加一个我发现有类似问题的补充。

我们有一个 x-webkit-csp 内容安全标头,结果证明是罪魁祸首。删除它并通过图像代理完成所有工作。

Google 的回应是 x-webkit-csp 已被弃用,而是使用 Content-Security-Policy 标头。然而,这似乎是一个错误,不受支持的标头会引发致命错误,而不是简单地忽略它。

原文由 Mark Walker 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题