小程序的安全性一直被人詬病,社區里經常看到有人發帖,說自己的小程序被別人復制了,自己一直沒當回事。直到今天搜自己的小程序,發現了一個跟我的長得一模一樣的,才意識到這事讓自己給碰上了。。他改了我的圖標,還用着我的api,你說氣人不
那么怎么破呢,萬無一失的方法是沒有的,因為別人能拿到你的安裝包的代碼,即使是被壓縮混淆過的,他也可以修改一部分。本文介紹的是一種能防一點是一點的方法。這個方法需要借助於一個api:wx.getAccountInfo
。
思路是這樣的:在小程序運行時,調用這個api會返回當前小程序的appId,如果獲取到的appId不是你的appId,就可以判定為盜版,代碼如下:
let account = wx.getAccountInfoSync()
if(account.miniProgram.appId) !== '你的appId'){
wx.showModal({
content: '額,這個小程序是盜版的,正版的是:xxxx'
})
// 跳轉到你的小程序
}
當然,這種辦法也只是權宜之計,根本上還是wx的小程序安裝包容易被獲取到,審核機制,配置請求域名上太隨意,這些問題希望微信能早點解決吧