在业务平台开发微信关键词回复时,发现图片显示“此图片来自微信公众平台,未经允许不可引用”,于是在平台去查阅对应的问题和文档,总体的回复大概就是:为了防止其他平台引入,特意做了类似防盗链的功能,即使是添加了业务域名,也是如此,效果如图。
本着解决问题的态度,进行了查阅,根据网上大佬们的观点就是:根据图片请求的头部的referer属性做了来源判断,如果非本平台,则进行防盗链处理(参考)。再结合网上的一些解决方案,进行了整理和说明。
解决方案一:(慎用)header中添加(根据页面要求,如果是vue,则可以在index.html中全局添加)
<meta name="referrer" content="never">
这样可以解决问题,但是我正好踩坑了,发布测试后发现系统登陆选择岗位后,原本要跳转回系统网址,却发现不跳转了,排查后发现很可能是用到了referrer功能,这边被我header中添加的referrer属性配置给弄没,导致没法跳转。那既然全局处理不了,那就局部处理,使用方案二。
解决方案二:在引入微信图片的img标签上添加 referrerpolicy="no-referrer"也可以解决。
<img src="xxxxxx" referrerpolicy="no-referrer" />