知方号

知方号

如何解决”此图片来自微信公众平台,未经允许不可引用“问题?<易安卓破解图片防盗链>

如何解决”此图片来自微信公众平台,未经允许不可引用“问题?

问题描述

从微信公众号中拿到的图片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"解决

第三方代理(参考)不稳定!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。