微信小程序中怎么實(shí)現(xiàn)API接口-創(chuàng)新互聯(lián)

這篇文章主要介紹“微信小程序中怎么實(shí)現(xiàn)API接口”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“微信小程序中怎么實(shí)現(xiàn)API接口”文章能幫助大家解決問(wèn)題。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),東明企業(yè)網(wǎng)站建設(shè),東明品牌網(wǎng)站建設(shè),網(wǎng)站定制,東明網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,東明網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

一.接口安全的必要性


最近我們公司的小程序要上線了,但是小程序端是外包負(fù)責(zé)的,我們負(fù)責(zé)提供后端接口。這就可能會(huì)造成接口安全問(wèn)題。一些別有用心的人可以通過(guò)抓包或者其他方式即可獲得到后臺(tái)接口信息,如果不做權(quán)限校驗(yàn),他們就可以隨意調(diào)用后臺(tái)接口,進(jìn)行數(shù)據(jù)的篡改和服務(wù)器的攻擊,會(huì)對(duì)一個(gè)企業(yè)造成很?chē)?yán)重的影響。

因此,為了防止惡意調(diào)用,后臺(tái)接口的防護(hù)和權(quán)限校驗(yàn)非常重要。


雖然小程序有HTTPs和微信保駕護(hù)航,但是還是要加強(qiáng)安全意識(shí),對(duì)后端接口進(jìn)行安全防護(hù)和權(quán)限校驗(yàn)。


二.小程序接口防護(hù)


小程序的登錄過(guò)程:

微信小程序中怎么實(shí)現(xiàn)API接口

  1. 小程序端通過(guò)wx.login()獲取到code后發(fā)送給后臺(tái)服務(wù)器

  2. 后臺(tái)服務(wù)器使用小程序的appid、appsecret和code,調(diào)用微信接口服務(wù)換取session_key和openid(openid可以理解為是每個(gè)用戶(hù)在該小程序的識(shí)別號(hào))

  3. 后臺(tái)服務(wù)器自定義生成一個(gè)3rd_session,用作openid和session_key的key值,后者作為value值,保存一份在后臺(tái)服務(wù)器或者redis或者mysql,同時(shí)向小程序端傳遞3rd_session

  4. 小程序端收到3rd_session后將其保存到本地緩存,如wx.setStorageSync(KEY,DATA)

  5. 后續(xù)小程序端發(fā)送請(qǐng)求至后臺(tái)服務(wù)器時(shí)均攜帶3rd_session,可將其放在header頭部或者body里

  6. 后臺(tái)服務(wù)器以3rd_session為key,在保證3rd_session未過(guò)期的情況下讀取出value值(即openid和session_key的組合值),通過(guò)openid判斷是哪個(gè)用戶(hù)發(fā)送的請(qǐng)求,再和發(fā)送過(guò)來(lái)的body值做對(duì)比(如有),無(wú)誤后調(diào)用后臺(tái)邏輯處理

  7. 返回業(yè)務(wù)數(shù)據(jù)至小程序端

會(huì)話(huà)密鑰session_key 是對(duì)用戶(hù)數(shù)據(jù)進(jìn)行加密簽名的密鑰。為了應(yīng)用自身的數(shù)據(jù)安全,開(kāi)發(fā)者服務(wù)器不應(yīng)該把會(huì)話(huà)密鑰下發(fā)到小程序,也不應(yīng)該對(duì)外提供這個(gè)密鑰。


session_key主要用于wx.getUserInfo接口數(shù)據(jù)的加解密,如下圖所示:

微信小程序中怎么實(shí)現(xiàn)API接口

sessionId


微信小程序開(kāi)發(fā)中,由wx.request()發(fā)起的每次請(qǐng)求對(duì)于服務(wù)端來(lái)說(shuō)都是不同的一次會(huì)話(huà)。啥意思呢?就是說(shuō)區(qū)別于瀏覽器,小程序每一次請(qǐng)求都相當(dāng)于用不同的瀏覽器發(fā)的。即不同的請(qǐng)求之間的sessionId不一樣(實(shí)際上小程序cookie沒(méi)有攜帶sessionId)。


如下圖所示:

微信小程序中怎么實(shí)現(xiàn)API接口

實(shí)際上小程序的每次wx.request()請(qǐng)求中沒(méi)有包含cookie信息,即沒(méi)有sessionId信息。


但是我們可以在每次wx.request()中的header里增加。


接口防護(hù)方法

  • 使用HTTPS防止抓包,使用https至少會(huì)給破解者在抓包的時(shí)候提高一些難度

  • 接口參數(shù)的加密,通過(guò)md5加密數(shù)據(jù)+時(shí)間戳+隨機(jī)字符串(salt),然后將MD5加密的數(shù)據(jù)和時(shí)間戳、原數(shù)據(jù)均傳到后臺(tái),后臺(tái)規(guī)定一個(gè)有效時(shí)長(zhǎng),如果在該時(shí)長(zhǎng)內(nèi),且解密后的數(shù)據(jù)與原數(shù)據(jù)一致,則認(rèn)為是正常請(qǐng)求;也可以采用aes/des之類(lèi)的加密算法,還可以加入客戶(hù)端的本地信息作為判斷依據(jù)

  • 本地加密混淆,以上提到的加解密數(shù)據(jù)和算法,不要直接放在本地代碼,因?yàn)楹苋菀妆环淳幾g和破解,建議放到獨(dú)立模塊中去,并且函數(shù)名稱(chēng)越混淆越難讀越安全。

  • User-Agent 和 Referer 限制

  • api防護(hù)的登錄驗(yàn)證,包括設(shè)備驗(yàn)證和用戶(hù)驗(yàn)證,可以通過(guò)檢查session等方式來(lái)判斷用戶(hù)是否登錄

  • api的訪問(wèn)次數(shù)限制,限制其每分鐘的api調(diào)用次數(shù),可以通過(guò)session或者ip來(lái)做限制

  • 定期監(jiān)測(cè),檢查日志,偵查異常的接口訪問(wèn)

關(guān)于“微信小程序中怎么實(shí)現(xiàn)API接口”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

本文標(biāo)題:微信小程序中怎么實(shí)現(xiàn)API接口-創(chuàng)新互聯(lián)
分享鏈接:http://m.kartarina.com/article34/dcpose.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站收錄網(wǎng)站維護(hù)品牌網(wǎng)站制作網(wǎng)站排名網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
主站蜘蛛池模板: 亚洲AV无码专区国产乱码电影| 亚洲永久无码3D动漫一区| 无码色偷偷亚洲国内自拍| 亚洲av永久中文无码精品| 国产精品午夜无码av体验区| 亚洲精品无码高潮喷水在线| 人妻精品久久无码区| 亚洲AV无码一区东京热久久 | 亚洲av无码日韩av无码网站冲| 国产精品亚洲专区无码牛牛 | 色欲A∨无码蜜臀AV免费播 | 亚洲AV无码国产丝袜在线观看| 亚洲精品无码成人| 亚洲国产精品无码一线岛国| 无码8090精品久久一区| 亚洲真人无码永久在线观看| 亚洲精品无码久久久久| 永久免费av无码入口国语片| 人妻无码中文字幕| 无码h黄肉3d动漫在线观看| 日韩AV无码久久一区二区| 国产精品无码久久久久久| 人妻无码一区二区视频| 无码精品蜜桃一区二区三区WW | 精品亚洲成A人无码成A在线观看| 免费无码又爽又刺激一高潮| 亚洲av无码成人精品区| 成人年无码AV片在线观看| 国产精品无码一区二区在线| 精品久久久久久久无码| 直接看的成人无码视频网站| 久久亚洲精品无码AV红樱桃| 无码少妇一区二区| 久久ZYZ资源站无码中文动漫| 无码人妻久久久一区二区三区| 久久久久亚洲av无码专区蜜芽| 久久久无码精品亚洲日韩蜜桃| 人妻无码久久一区二区三区免费| 色AV永久无码影院AV| 97久久精品无码一区二区天美| 亚洲爆乳精品无码一区二区|