自 2017 年小程序發布以來,經過 4 年的快速發展,小程序已然成為企業互聯網布局不可或缺的一環。無論是互聯網企業還是擁抱互聯網的傳統企業,無論是服務導向型企業還是產品導向型企業,小程序都為用戶提供了一種輕量化的產品體驗方式。
微信小程序面臨的三類安全風險
無論是社交電商、O2O模式以及游戲、社區,抑或是其他形式的小程序開發,其終極目的是提升用戶體驗、更好地幫助商家連接線上線下服務獲取客戶。小程序的安全穩定運營與驗證在這一過程中起到了至關重要的作用。小程序的安全問題主要集中在以下三方面:
1.小程序與微信交互存在安全問題。與微信的交互只能使用其提供的API進行,對這些API規范的使用會導致安全問題。
2.小程序與第三方服務器的業務邏輯交互存在問題。這是安全最薄弱的環節,業務邏輯多種可能存在風險或漏洞,如用戶信息泄漏、訂單盜刷、信息安全。
3.第三方服務器Web服務風險。Web服務器中存在的風險,如存儲型XSS攻擊、SQL注入、管理員口令泄露。具體的風險包括,薅羊毛、仿冒山寨、數據爬取等問題。小程序雖然業務模塊相較APP會精簡許多,但是仍然會有注冊、登錄等重要的業務入口。這些入口在傳統平臺上往往也是機器流量攻擊的首要目標。
統計顯示,在 2021 年上半年數據中,小程序端的驗證數據主要來源于登錄注冊,其次是搜索查詢和支付下單。
頂象“無感驗證”驗證碼如何接入微信小程序?
頂象“無感驗證”集設備指紋、行為校驗、操作校驗、地理位置校驗等多項功能與一身,基于操作者行為及環境信息等數據信息,結合模型和風控分析。根據用戶的風險程度,采取不同難度的驗證方式,安全用戶無感知通過,避免惡意攻擊帶來的業務損失,留存真實用戶,能夠保障百萬小程序安全運行。
目前,頂象“無感驗證”驗證碼接入微信小程序的方式有兩種,一種是插件式接入,一種是跳轉式接入。
插件式接入微信小程序
1)用管理員身份登錄微信公眾平臺,請使用需要接入小程序的相關賬號(微信公眾平臺采用不同賬號區分,公眾號的后臺和小程序的后臺分別為不同賬號),依次點擊:設置-第三方服務-添加插件,然后輸入關鍵字“頂象”并搜索,如下圖所示:
2)獲取密鑰。未注冊用戶可在頂象官網進行賬號注冊,創建應用獲取應用密鑰AppID和AppSecret。
3)集成插件。聲明插件:在app.json中聲明插件。
跳轉式接入微信小程序
1)用管理員身份登錄微信公眾平臺,請使用需要公眾號的相關賬號(微信公眾平臺采用不同賬號區分,公眾號的后臺和小程序的后臺分別為不同賬號),依次點擊:小程序-小程序管理-添加-關聯小程序,然后輸入小程序AppID“wx82db4a59175bdfdf”并搜索,如下圖所示:
2)獲取密鑰。未注冊用戶可在頂象官網進行賬號注冊,創建應用獲取應用密鑰AppID和AppSecret。
3)小程序集成。
首先,通過navigator組件跳轉至頂象驗證碼。
.wxml
登陸
.jsPage({
data: {
options: {
appId: '這里填寫在頂象官網申請到的appId',
customStyle: {
panelBg: '',
captchaBgColor: ''
}
}
}
})
參數說明:
然后,在頂象驗證碼中驗證。
最后,驗證成功。驗證結果會在調用方app.js中頂onShow生命周期方法中取到。
if (options.scene ===1038 && options.referrerInfo.appId === 'wx82db4a59175bdfdf') {
const result = options.referrerInfo.extraData;
if (result) {
console.log('返回結果:', result)
} else {
// 用戶點擊右上角關閉了驗證碼
}
}
驗證結果說明:
頂象“無感驗證”微信小程序的常見問題
問:生產控制臺配置的是圖標點選方式,小程序里顯示的為什么還是滑塊方式?
答:小程序的驗證碼類型目前首次只支持滑塊驗證,二次驗證方式只支持圖文點選驗證。 請確認小程序的配置驗證方式正確,可在 控制臺->無感驗證->場景管理頁面 ,選擇對應的場景(你所接入的小程序名)來編輯驗證方式。
問:微信小程序如何接入ConstIDServer地址?
答:小程序ConstIDServer地址以 /udid/ w1 結尾。
問:返回 INVALID_APP_ID 是什么問題?
答:如上所述,是傳入的Appid 錯誤,應填寫在頂象控制臺創建的產品Appid。 可以登錄控制臺,在系統管理菜單下進入產品管理頁面,查看對應產品的Appid。
問:小程序的版本號如何修改?
答:在app.json中聲明插件時,修改版本號即可
{"plugins": {
"captcha": {
"version": "1.2.5",
"provider": "wxbf8483dfc5ac6817"
}
}
}
問:一直顯示“智能加載中”,怎么辦?
答:請檢查當前網絡連接是否正常。