https网站请求下载http的资源会被拦截

Mixed Content: The page at ‘https://XXX’ was loaded over a secure connection…
在这里插入图片描述
访问 HTTPS 网站,但有时站内下载东西使用的协议却是 HTTP,这其实存在安全隐患,现在 Chrome 不想让这样的事情发生。在谷歌浏览器75的版本还是不会被拦截,但是在测试的87版本谷歌浏览器却被拦截了,相关消息说是85版本之后进行的改造。
ZDNet 报导,谷歌 Chrome 工程师正计划在 HTTPS 网站上默认禁止一些通过 HTTP 下载的行为,当涉及到下载 EXE、DMG(Mac 应用二进制文件)、CRX(Chrome 扩展包) 与诸如 ZIP、GZIP、BZIP、TAR、RAR 和 7Z 等主流压缩/打包文件时,浏览器将阻止下载。
默认阻止下载的这些文件类型被认为是“高风险”的,因为它们最有可能被滥用来隐藏恶意程序。
Emily 表示目前仅考虑阻止在 HTTPS 站点上发起的下载行为,而如果是 HTTP 网站下载这些类型文件,则不加以阻止,因为浏览器本身已经通过 URL 栏对于 HTTP 网站给出了“不安全”的提示。
此外,目前仅考虑将此功能添加到桌面版 Chrome 中,Emily 认为在 Android 上,Chrome 已经可以以类似的方式阻止可疑的 APK 文件,所以暂时问题不大。
解决方法:
1、将资源移到 https 的服务器下
2、设置代理,将http的资源改成https的请求,通过代理实际请求http的返回
3、添加如下页面元信息:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

会将所有的http请求改为https请求,浏览器不会报错,但是前提还得是 https 下有对应资源或者 设置好代理了,否则请求资源将会加载失败
4、也可以换成打开新窗口 window.open() 来请求资源路径来下载资源,不过第一次请求需设置浏览器允许当前页面打开 http 路径的新窗口

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值