1
xiawang 2022-09-28 14:57:32 +08:00
没有
|
2
hxysnail 2022-09-28 14:58:12 +08:00
将协议写完整 http://xxxx.com/xxxx.png 也会升级吗?感觉不合理呀……
|
3
lixuanyy 2022-09-28 14:58:38 +08:00 via iPhone
这是浏览器的行为,js 也没办法。除非你是 http 站点。不会强制你用 https
|
4
cnrting 2022-09-28 15:10:10 +08:00 via iPhone
把圖片放到自己的網站不就行啦
|
5
sunhelter 2022-09-28 15:11:47 +08:00 1
浏览器的安全策略,会在 https 网站内屏蔽非 http 链接
|
6
agood 2022-09-28 15:14:54 +08:00
网站支持 https 的话就不要放 http 的内容了,不过也有两种办法
1.把图片等资源放到支持 https 的图床 2.服务器反向代理转为 https |
7
Vegetable 2022-09-28 15:16:32 +08:00
怎么会自动升级?直接就 Mixed Content 屏蔽掉了才对。这情况哪怕你的图片支持 HTTPS 也无法读取
|
8
pota 2022-09-28 15:24:54 +08:00
不是直接屏蔽吗,为啥你那边是自动升级? 链接写了跟随协议?
|
9
MAGA2022 2022-09-28 15:32:32 +08:00 2
自动升级应该是 meta 或者 headers 里设置了 Content-Security-Policy 为 upgrade-insecure-requests
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" /> |
10
zhuweiyou 2022-09-28 16:08:26 +08:00
没有,既然用了 https,又不全用,还不如取消,直接 http
|
11
Puteulanus 2022-09-28 16:21:36 +08:00
可以用一些支持 https 的公共 CDN 套一下,比如说 WordPress 的 https://developer.wordpress.com/docs/photon
纯粹的代码方面没啥解吧,浏览器期望的就是加密页面不要加载非加密资源 |
12
296727 2022-09-28 16:33:43 +08:00
反代
|
13
baobao1270 2022-09-28 16:35:32 +08:00
如果第三方资源地址是用户提供的话,建议缓存到自己服务器上。
第一,这样可以保护内容安全,防止第三方内容有敏感或带病毒,也可以防止一开始用正常资源骗过审核然后替换。 第二,防止数据和用户隐私泄露,随意加载第三方资源会让第三方知道你用户的 ip 地址和 referer ,甚至陈旧的浏览器会导致 cookie 泄露。 |
14
Sain 2022-09-28 16:49:45 +08:00
配置 html meta 或 nginx 的 Content-Security-Policy
|
15
duan602728596 2022-09-28 16:52:43 +08:00
其它网站推过来的,粘贴前格式化一边,图片转 base64 ,视频用占位。保存后图片存到自己的 cdn 上,视频转码,然后修改文章中的地址。
|
16
yulgang 2022-09-28 17:08:14 +08:00
解决了的话,浏览器会提示网站引用了不安全内容😁
|
18
ohyeahhh OP @duan602728596 老哥这是个好思路
|
19
gogogo2000 2022-09-28 17:52:57 +08:00
高版本 Chrome 会自动升级 https 页面中的 http 资源,即便链接写了 http 也没用。
现在已经没有任何方法可以绕过了 |
20
duan602728596 2022-09-28 19:10:13 +08:00
@ohyeahhh 因为以前是在互联网新闻行业的,负责发布系统的开发和维护的
|
21
lyz1990 2022-09-29 09:15:09 +08:00
图片视频应该转存到自己这边来,防止意外。比如第三方把图删了,或者第三方把图换成了违法内容。
|
22
xilou31 2022-09-29 15:55:52 +08:00
写个脚本,一旦监测到有不是本站的资源。自动下载并存在本地,然后把链接替换。
|