为什么 HTTPS 含有 HTTP 资源依然被载入?

2015-11-13 00:04:54 +08:00
 Quaintjade

照理来说, https 页面如果引用了非 https 的资源,不是照理不会被浏览器加载的吗?
可为什么实际上 http 的图片仍然会被加载,而不是被屏蔽?是因为即使被替换也不会有安全问题吗?
试了下 IE11, Edge, Firefox 和 Chrome 都是这样。

例如淘宝的用户页:

再比如本页面:

但是这样的话,中间人是不是依然可以把正常图片替换为广告图片?
如果是的话,进一步想,如果某些支付 /银行网站页面的正常图片被替换成醒目的诈骗信息图片(比如闪烁的“你的安全受到威胁,请拨打 XXXXX 联系客服!”图片),不是仍然会对用户造成安全威胁吗?

9010 次点击
所在节点    问与答
22 条回复
heiybb
2015-11-13 00:08:47 +08:00
从来没听过说不加载
mcfog
2015-11-13 00:10:22 +08:00
注意观察地址栏

我猜 2020 年 chrome 率先默认拒绝加载这种资源
ryd994
2015-11-13 00:11:58 +08:00
那你就上 hsts 啊
hsts 可以全域名 https
TakanashiAzusa
2015-11-13 00:12:00 +08:00
浏览器会选择部分加载,但是地址栏图标会有变化
图片一般都是加载的, js 的话不会自动加载,右边会有小盾牌提示
lhbc
2015-11-13 00:12:07 +08:00
js 资源应该是不加载的
图片问题不大
Andy1999
2015-11-13 00:12:31 +08:00
@heiybb 我的站引入 http Chrome 直接不加载 也不清楚为啥
我是 src 里面的 http
可能跟正文内容不一样吧
hicdn
2015-11-13 00:18:27 +08:00
图片可以加载, js 不加载
heiybb
2015-11-13 00:21:00 +08:00
@Andy1999 不清楚,我博客之前的背景是 src 里的 http ,但能正确加载。另外你博客的音乐播放好像出问题了=、=,开链接就开新歌,不断叠加,一开 F12 就只剩一首。
lshero
2015-11-13 00:26:54 +08:00
都是浏览器的安全策略问题啊

以 IE 为例
打开 IE-Internet 选项-安全-自定义级别-显示混合内容-禁用
quericy
2015-11-13 00:34:02 +08:00
@heiybb 貌似是 pjax 和音乐加载组件冲突?多重奏不要太带感 23333
Quaintjade
2015-11-13 00:51:11 +08:00
@heiybb
我知道 js 是不加载的,但以前没注意图片会加载。

@mcfog
我觉得地址栏还是 firefox 做得最好,显示锁加黄色三角,会引起注意。其他浏览器都只是显示和 http 一样的图标,一般用户不会那么注意。

@ryd994
你是从网站出发的想法,但网站制作者的安全意识从弱到强应该是:
有意识上 https ,但页面出现混合内容;
上了 https ,页面无混合内容;
有意识用 HSTS 、 HSTS preload ;
对 CDN 也用 HSTS 。
也就是说,一个会用 HSTS 的网站制作者,一般来说本来就不会让页面出现 http 混合内容。
而我想说的是从浏览器出发,即使网站制作者是渣渣、网站漏洞百出,也能尽可能保护用户安全。

@lshero
只是刚注意到主流浏览器默认安全级别都会显示混合内容的图片
Quaintjade
2015-11-13 00:53:49 +08:00
@heiybb
好像通过 flash/java 等插件以某些方式加载的非 https 资源不会被拦截,因为这属于插件自己的策略
mfaner
2015-11-13 00:59:56 +08:00
IE 还有个,高级选项里“阻止混合了其他内容的不安全图像”这个打开了也不会显示并且有提示
qw7692336
2015-11-13 01:00:55 +08:00
chrome 地址栏显示黄色
Quaintjade
2015-11-13 01:05:18 +08:00
@qw7692336
咦,为啥我的 chrome 只是图标变成普通 http 而已?
qw7692336
2015-11-13 01:08:27 +08:00
SoloCompany
2015-11-13 02:23:06 +08:00
一般都会加载,只是不发送 referer 而已
lshero
2015-11-13 02:24:31 +08:00
@Quaintjade 其实你用 chrome 打开 https://mail.126.com/ 然后看看 Console 也就 JS 被拦截了,图片只是提示
SharkIng
2015-11-13 03:28:10 +08:00
从来不会不加载啊,只是有的时候会提示不安全,例如 16L 说的那样。

比如我正在看你的帖子的时候 V2 被我永久 HTTPS 了,但是你的帖子里面的图片还是 HTTP 的

现在的网站一般情况下都会加载,不加载那是以前
xiaozhizhu1997
2015-11-13 07:04:57 +08:00
IE 会提示“此页包含安全的内容,也包含不安全的内容。是否加载不安全的内容?”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/235801

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX