最近公司想做地圖業(yè)務(wù),但是考慮到數(shù)據(jù)的重要性,我們就需要從各個(gè)角度進(jìn)行評(píng)估,如何保證我們的程序安全;經(jīng)過長(zhǎng)期的調(diào)研發(fā)現(xiàn)微信小程序是沒辦法防止別人抓包的,只要連上charles就能隨意抓取微信小程序的任意一個(gè)接口數(shù)據(jù),因此我們只能對(duì)程序代碼進(jìn)行加固,主要的方式如下:
1. 接口通訊層面添加signature,后臺(tái)獲取參數(shù)后進(jìn)行解密比對(duì),如果不一致直接返回報(bào)錯(cuò)。
2. 接口次數(shù)限制,為了防止別人頻繁刷后臺(tái)接口,接口需要對(duì)同一用戶做次數(shù)限制。
3. 數(shù)據(jù)加密,為了防止別人輕易獲取數(shù)據(jù),需要對(duì)接口返回值再后臺(tái)進(jìn)行對(duì)稱加密,前端進(jìn)行解密。
以上是目前考慮的安全防范,但是由于小程序本身是可以破解的,因此以上的方案就現(xiàn)的不太安全,但是能夠起到一定的保護(hù)作用??赡芎芏嗳藢?duì)小程序破解感到陌生,認(rèn)為小程序是微信的,微信的安全肯定會(huì)很高,不可破解,事實(shí)并非如此。