微信小程序真机防盗链referer问题处理

公司使用百度云存储一些资源,然后现在要做防盗链,在CDN加入Referer白名单后发现PC是正常的,微信小程序无法正常访问资源了。然后是各种查啊,然后发现是微信小程序不支持Referer的修改,且在小程序开发工具是Referer是固定https://servicewechat.com/{你的appid}/devtools/page-frame.htm格式的

但是坑的是,真机调试不行.,使用自己程序接收到referer是null,本想着设置允许空referer,但是公司要求不能直接哪URL在浏览器就能打开,于是设置了不允许空,小程序就无法访问做了防盗链的资源了。完了没办法搞不了就停了1周,干其他更重要的事情去了。

文章来源地址https://uudwc.com/A/9vrqW

后面第二周手上紧急的搞完了,又被领导催要搞这个微信小程序防盗链问题。

于是开始又各种查找资料,提交百度工单。他们推介说用EdgeJS功能

 行吧。开通服务(服务暂时是免费的,后续会收费?),看文档,测试开搞

最后最后终于是搞定了。??? 贴上脚本代码截图,替换成你自己的refers就能用,被那个r.headersIn['referer']卡了好久,最后想办法打印出来发现TM如果referer不传值居然是undefined

 后续更新 2023年8月3日

坑啊。今天过来发现还是不行,之前是CDN缓存问题?然后真机调试,想办法把User-Agent输出了,TND不愧是腾讯,小程序User-Agent直接是com.tencent.mm

因此判断User-Agent改下

if(ua!==null &&(ua.toLowerCase().indexOf('micromessenger') != -1 ||
     ua.toLowerCase().indexOf('com.tencent.mm') != -1 )){
        f=true;
    }

这样就OK了,搞定上线正式环境

原文地址:https://blog.csdn.net/wokao_wg/article/details/132048908

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年08月08日 11:32
QT串口通信
下一篇 2023年08月08日 11:37