最好的辦法是用比較靠譜的服務(wù)器安全軟件,其實現(xiàn)在市面上好多,本人用的是云鎖。它實現(xiàn)了對服務(wù)器的多端防護(hù)(PC、web、APP等),而且占用系統(tǒng)資源特別小,值得一用。
南靖網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),南靖網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為南靖成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的南靖做網(wǎng)站的公司定做!
用HTTPS通信,另外APP往服務(wù)器接口發(fā)送的參數(shù)帶token,還要加上簽名,服務(wù)器端驗簽名(以防參數(shù)被篡改),校驗token;同時加上時間戳,防止重放。(簽名算法、密鑰的分配安全存儲要設(shè)計好)
對服務(wù)器接口要有監(jiān)控,監(jiān)控到異常情況要有處理方案。
apk簽名相當(dāng)于程序的身份識別代碼。
apk簽名用于程序編譯打包之后,手機(jī)在運行程序之前會先去驗證程序的簽名(可以看作類似于我們電腦上常說的md5)是否合法,只有通過了驗證的文件才會被運行,所以簽名軟件的作用的讓文件通過手機(jī)的驗證為合法,不同的手機(jī)、系統(tǒng)是對應(yīng)不同的簽名的。
進(jìn)行加密通訊防止API外部調(diào)用
服務(wù)器端與客戶端各自會存儲一個TOKEN,這個TOKEN我們?yōu)榱朔乐狗淳幾g是用C語言來寫的一個文件并做了加殼和混淆處理。
在客戶端訪問服務(wù)器API任何一個接口的時候,客戶端需要帶上一個特殊字段,這個字段就是簽名signature,簽名的生成方式為:
訪問的接口名+時間戳+加密TOKEN 進(jìn)行整體MD5,并且客戶端將本地的時間戳作為明文參數(shù)提交到服務(wù)器
服務(wù)器首先會驗證這兩個參數(shù):驗證時間戳,如果時間誤差與服務(wù)器超過正負(fù)一分鐘,服務(wù)器會拒絕訪問(防止被抓包重復(fù)請求服務(wù)器,正負(fù)一分鐘是防止時間誤差,參數(shù)可調(diào)整),
然后服務(wù)器會根據(jù)請求的API地址和提交過來的時間戳再加上本地存儲的token按照MD5重新生成一個簽名,并比對簽名,簽名一致才會通過服務(wù)器的驗證,進(jìn)入到下一步的API邏輯