小程序的安全性一直被人诟病,社区里经常看到有人发帖,说自己的小程序被别人复制了,自己一直没当回事。直到今天搜自己的小程序,发现了一个跟我的长得一模一样的,才意识到这事让自己给碰上了。。他改了我的图标,还用着我的api,你说气人不
那么怎么破呢,万无一失的方法是没有的,因为别人能拿到你的安装包的代码,即使是被压缩混淆过的,他也可以修改一部分。本文介绍的是一种能防一点是一点的方法。这个方法需要借助于一个api:wx.getAccountInfo
。
思路是这样的:在小程序运行时,调用这个api会返回当前小程序的appId,如果获取到的appId不是你的appId,就可以判定为盗版,代码如下:
let account = wx.getAccountInfoSync()
if(account.miniProgram.appId) !== '你的appId'){
wx.showModal({
content: '额,这个小程序是盗版的,正版的是:xxxx'
})
// 跳转到你的小程序
}
当然,这种办法也只是权宜之计,根本上还是wx的小程序安装包容易被获取到,审核机制,配置请求域名上太随意,这些问题希望微信能早点解决吧