混合内容警告

你好,

有时论坛会出现混合内容警告。请查看 Letsencrypt 社区:

某些网站图标使用了 HTTP 链接:http://alohadentalgroup.com/assets/icons/favicon.ico

该链接出现在 https://sjc4.discourse-cdn.com/letsencrypt/assets/_application-b690f7341f116f756f6621f3fbcc8e6ae69695c2db2f5ebceb6c46aaed19b17f.js 76678:17 中。

是否有可能将这些链接改为 HTTPS,或者忽略这些 HTTP 链接?

存在混合内容的论坛是不好的。

该 favicon 的 URL 并非托管在 Discourse 上,您使用的是 Discourse 吗?安装地址的 URL 是什么?

您是否启用了 force_https?

如果是,请重新上传您的图标。如果不是,请先启用它,然后再重新上传。

我不知道,我不是 Letsencrypt 论坛的管理员。

但如果存在本地选项,我会在内部 Regular 论坛中询问。

PS:谢谢移动。

这个警告无需担心。

Let’s Encrypt 网站的一位用户在 http 协议下添加了一个 URL,详见此主题:https://community.letsencrypt.org/t/issues-running-certbot-command/133347。

因此,浏览器正确地发出了警告,提示存在混合内容。

混合内容警告始终是不好的。可以通过 HTTP 添加在随后的 HTTPS 连接中使用的 Cookie。因此,论坛软件绝不应发起 HTTP 连接。

特别是在一个讨论“我的证书有误”或“我有内容警告”的论坛中(证书是正确的,但存在混合内容——这是该域名的首个证书,需要更新链接)。

该网站图标无法通过 HTTPS 访问。虽然混合内容警告并非理想情况,但相比用户因链接无法工作而感到困惑,这仍是更好的选择。

[quote=“Stephen, post:6, topic:163727”]
该网站图标无法通过 HTTPS 访问。[/quote]

我知道。但中间人可能利用这种由浏览器发起的 HTTP 连接,通过 HTTP 添加 Cookie。随后,浏览器会通过 HTTPS 发送该 Cookie,而中间人便能获取会话 Cookie。

这是可行的。HTTP 状态码(404、301、410、500)并不相关。

[quote=“Stephen, post:6, topic:163727”]
但更 preferable 的是避免用户因链接无法正常工作而感到困惑。[/quote]

并不是问题。网站图标并非用户主动发起的链接,用户只是添加了不带 HTTPS 的 HTTP 链接。

简单解决方案:如果目标地址是 HTTP,则不显示预览。这样就不需要加载网站图标了。

在第三方连接上不会发生这种情况。浏览器不会将论坛网站的 Cookie 发送到其他网站,无论是 HTTP 还是 HTTPS。

你在制造一个本不存在的问题。如果你真的认为这是个问题,请在 try.discourse.org 上演示一个针对此的利用方法。

5 个赞

这不是问题所在。如果是那样,那就是浏览器漏洞了。

中间人可以在 http://alohadentalgroup.com 连接中添加一个 Cookie,该 Cookie 的域为 alohadentalgroup.com,并包含该域(而非论坛域)已知名称的会话 Cookie(如果存在,我尚未确认)。

如果用户稍后使用 https://alohadentalgroup.com 的登录信息来管理该域,那么该 Cookie(通过 HTTP 创建)将通过 HTTPS 发送回来。

这是一个关键(且常被忽视)的 Cookie 特性。

这也是创建 Cookie 前缀的原因之一。以 __Secure-__Host- 开头的 Cookie 要求必须使用 HTTPS,这样上述情况就不再可能发生。Preload 策略也是如此(但大多数网站未启用 HSTS,也未被列入预加载列表)。

参见(2017 年)

或其他相关链接。

附注:我的“检查您的网站”功能(参见我的个人资料)中包含一些示例页面以及一个小型演示。该演示展示了一个通过 HTTP 创建并通过 HTTPS 发送回来的 Cookie。在现代浏览器中,无法通过 HTTP 创建 __Host- 前缀的 Cookie。不过,带有前缀的 Cookie 目前仍较为罕见。