从微信公众号中拿到的图片url需要在前端页面中展示,看了许多资料大概:为了防止其他平台引入,特意做了类似防盗链的功能,即使是添加了业务域名,也是如此,效果如图
防盗链原理在 http 协议请求中 header 里会带个 Referer 字段。通过图片服务器检查 Referer 是否来自规定的域名(白名单),而进行防盗链。 在浏览器中输入防盗链图片地址是能直接访问的。
引用策略说明:
HTTP有一个概念叫做引用策略(Referrer Policy),简单理解就是在Request头中是否发送Referrer头浏览器可以通过meta标签去设置引用策略,上面的name可以理解为策略key,content可以理解为策略value默认情况下的引用策略是Referrer Policy:no-referrer-when-downgrade,会在被访问网站安全的情况下在Request头中是否发送Referrer: location.origin当设置为name="referrer" content="no-referrer"时,Referrer Policy:no-referrer,请求头Request中不会带上Referrer头 解决方案根据图片请求的头部的referer属性做来源判断,
1.header中添加(根据页面要求在.html中增加 meta)
2.图片的img标签上添加 referrerpolicy="no-referrer"解决
第三方代理(参考)不稳定!!