电子邮件缩略图 URL 在 gmail 中更改为 googleusercontent.com
Posted
技术标签:
【中文标题】电子邮件缩略图 URL 在 gmail 中更改为 googleusercontent.com【英文标题】:Email thumbnail URL changed to googleusercontent.com in gmail 【发布时间】:2018-12-30 11:33:24 【问题描述】:我有一个系统,每当用户上传图片时,它都会向注册用户的 gmail 发送电子邮件。但在电子邮件中,我看到类似这样的内容,缩略图不可见。
我检查了该元素,发现链接到此 url 的 src
:
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 东西,或者至少让缩略图能够显示。
我在此链接上结帐Images not displayed for Gmail,但我没有使用本地主机,并且图像本身可以在我的本地网络之外访问。
【问题讨论】:
你应该看看这个问题:***.com/questions/20903967/… 能否提供图片的真实链接以便查看? 对不起,我认为我做了,谢谢你的详细回答,接受。 【参考方案1】:Google 图片代理的工作原理
Google 图片代理是一个缓存代理服务器。每次在电子邮件中包含图像链接时,请求都会首先转到 Google Image Proxy 以查看它是否已被缓存,如果是,它应该从代理中提供它,或者它会去获取它并在之后将其缓存在那里。
大多数问题的解决方案
如果出现以下图片,Google 图片代理服务器将获取您的图片:
仅具有.png
、.jpg
/.jpeg
或 .gif
等扩展名。也可能是.webp
。但不是.svg
。
请勿在图像 URL 中使用任何类型的查询字符串部分,例如 ?id=123
有一个直接映射到图像上的 URL。
名字不长。
图片服务器要求:
来自图像服务器/代理服务器的响应必须包含正确的标头,例如Content-Type: image/jpeg
。
文件扩展名和content-type
标头必须属于同一类型。
服务器响应中的状态码必须是 200 而不是 403、500 等。
还有什么可以帮助的?
Google support answer:
设置图片网址代理白名单
当您的用户打开电子邮件时,Gmail 会使用 Google 的安全代理 服务器来提供可能包含在这些消息中的图像。这 保护您的用户和域免受基于图像的安全性 漏洞。
由于图像代理,链接到依赖于图像的图像 内部 IP,有时 cookie 被破坏。图片 URL 代理 白名单设置可让您通过创建 并维护将绕过代理的内部 URL 白名单 保护。
当您配置图片 URL 代理白名单时,您可以指定一个 一组域和一个路径前缀,可用于指定大 URL 组。有关示例,请参阅以下指南。
配置图片 URL 代理白名单设置:
Sign in 到您的 Google Admin console。使用您的管理员帐户登录(不以@gmail.com结尾)。 从管理控制台首页转到Apps
>G Suite
>Gmail
>Advanced settings
。 提示:要查看高级设置, 滚动到 Gmail 页面底部。 在左侧,选择您的***组织。 滚动到图片网址代理白名单部分。 输入图片 URL 代理白名单模式。匹配的 URL 将绕过图像代理保护。有关更多详细信息,请参阅下面的指南和 说明。 点击底部的保存。更改可能需要一个小时才能传播到用户帐户。 您可以在Admin console audit log 下跟踪之前的更改。
应用图片网址代理白名单设置的指南
安全注意事项
在配置图片 URL 代理之前,请咨询您的安全团队 白名单设置。绕过图片代理白名单的决定 如果不是,保护可能会使您的用户和域面临安全风险 小心使用。
一般来说,如果您有一个需要通过 cookie 进行身份验证的域, 如果该域由您的管理员控制 组织并且完全受信任,然后将该 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 不匹配,则会出现错误 出现消息。
【讨论】:
您好,我们有同样的问题。我们不想更改我们的文件名,所以这两个选项,等待缓存过期或设置上述白名单。缓存需要多长时间才能过期?我尝试创建一个管理员帐户(不结束 @gmai.com )但似乎我必须创建一个工作区帐户.. 感谢您的回答,但have an URL which is mapped onto the image directly.
是什么意思?
“但不是 .svg”。对我来说重要的是我不知道。【参考方案2】:
Bharata 对此有很好的详细回答,但只是想添加一个我发现有类似问题的补充。
我们有一个 x-webkit-csp 内容安全标头,结果证明它是罪魁祸首。 删除它并通过图像代理完成所有工作。
Google 的回应是 x-webkit-csp 已被弃用,而是使用 Content-Security-Policy 标头。 然而,这似乎是一个错误,即不受支持的标头会引发致命错误,而不是简单地忽略它。
【讨论】:
【参考方案3】:TL;DR:确保您的服务器没有阻止外部连接(通过 AWS 或 .htaccess 或其他防火墙)!
我也遇到了这个问题。我浏览了我能想到的每一个解决方案,以及我在网上找到的每一个解决方案。什么都没有解决。
最后,我检查了 Gmail 中的图片,以便获得 Google 为其创建的完整 CDN 地址。我试图在新选项卡中打开它,但失败了。所以我意识到 Google 无法抓取图片。
最后,我忘记了我已经锁定了服务器,除了我自己的所有流量(只是一个基本的 .htaccess IP 拒绝)。这只是我在开发过程中使用的一个简单的安全层。请记住,您可能会将其锁定在 AWS 或类似的更坚固的地方。
我打开了所有 IP,测试了它,果然它按预期工作。以前失败的旧电子邮件也有效,所以谷歌似乎在打开电子邮件并且没有保存图像的任何时候都试图发挥他们的魔力。一旦我再次关闭 IP 地址,无论谷歌如何,图像都会继续工作。我猜一旦他们将其写入他们的 CDN 就会无限期地保留在那里。
因此,如果您确定您已正确完成其他所有操作,我建议您确保服务器确实对外界开放,以便 Google 可以处理图像。
【讨论】:
以上是关于电子邮件缩略图 URL 在 gmail 中更改为 googleusercontent.com的主要内容,如果未能解决你的问题,请参考以下文章
Outlook 2007 将 HTML 电子邮件中的链接样式更改为在发送到 Hotmail、Gmail 等时具有蓝色下划线。任何修复?
在 UIActivityViewController 上显示 url 附件的缩略图