功能概述
智能驗證是阿里巴巴集團提供的一種驗證碼解決方案。對大部分用戶來說,只需一次交互即可完成驗證碼操作。智能驗證采用風險分析引擎,可以有效區分來自人類與機器人的訪問行為并攔截機器風險,為您提供安全可靠的業務環境。
智能驗證流程
智能驗證服務通過以下邏輯實現驗證碼。
在您的應用客戶端(網頁)和服務端中分別集成智能驗證功能接入代碼后,在指定的客戶端頁面中喚醒智能驗證組件。
說明在集成智能驗證接入代碼時,appkey與scene參數值必須按照控制臺中相應驗證配置分配的值填寫,且前端與服務端保持一致。
測試不同前端樣式時,可以使用前端代碼集成文檔中提供的測試參數(appkey+scene)。測試完成后請務必還原appkey與scene參數值,切勿在實際線上環境中使用測試參數。
用戶在客戶端(網頁)中,單擊智能驗證按鈕。智能驗證組件代碼自動觸發,向阿里云服務器發送驗證請求,判斷此次操作行為是否正常。
阿里云服務器利用風控技術,判斷驗證請求的合法性并將結果返回至應用客戶端。
請求結果如下:
智能驗證直接通過:自動觸發smartCaptcha對象中的success回調參數,獲得驗證請求的回調結果(驗簽參數)。
智能驗證直接失敗:客戶端提示驗證失敗,并提示用戶重新單擊智能驗證按鈕。
智能驗證未通過并觸發二次驗證:客戶端自動喚醒二次驗證(滑動驗證)。
說明圖中綠色部分流程說明了觸發二次驗證的完整流程。
3a. 觸發二次驗證后,用戶在客戶端中根據提示將滑塊滑動至末端。
3b. 阿里云服務器利用風控技術,判斷驗證請求的合法性并將結果返回至應用客戶端。
滑動驗證成功:與智能驗證直接通過的情況相同,自動觸發success回調參數,獲得與智能驗證請求等價的回調結果(驗簽參數)。
滑動驗證失敗:客戶端提示驗證失敗,并提示用戶重新進行滑動驗證。
客戶端將收到的驗簽所需參數信息(param)與應用業務請求(如登錄、注冊)一同發送至應用服務端(該部分需要根據自身業務邏輯進行開發)。
說明驗簽所需的參數信息包括
NVC_Opt.token
、data.csessionid
、data.sig
。除驗簽所需參數信息外,建議您將該智能驗證配置的appkey
和scene
參數值一同發送至應用服務端,便于服務端支持多套驗證碼配置針對不同場景的使用。應用服務端調用afs驗簽接口,向阿里云服務器發送請求,判斷所收到的驗簽信息是否有效。
說明對于JAVA、.NET、PHP、Python開發語言,您可以通過SDK使用已封裝的驗簽方法;對于其它語言,您可以通過HTTP形式直接調用驗簽接口。
阿里云服務器收到驗簽請求,實時判斷驗簽是否合法且有效。
說明為了避免被惡意攻擊者通過積攢sig的方式進行批量攻擊,驗簽接口參數的有效時間為10分鐘。
為了避免被惡意攻擊者進行大量重放攻擊,驗簽接口參數的有效次數為1次,即一條驗簽請求只在首次驗簽時返回驗簽成功結果。
應用服務端收到驗簽結果,結合應用業務邏輯進行處理。
返回code為100,表示驗簽成功。
返回code為900,表示驗簽失敗。
應用客戶端收到最終驗證結果,根據業務邏輯繼續執行后續業務。
快速入門
您可以通過以下方式在業務中接入智能驗證服務。
智能驗證服務僅支持PC網頁和H5(移動端WAP+APP)業務類型。
登錄阿里云驗證碼控制臺,在錯誤碼頁面,選擇配置管理頁簽。
單擊新增配置。
說明如果您已經為需要接入智能驗證的業務場景創建過智能驗證配置,您可以直接使用已創建的配置和接入代碼。
根據您的實際業務情況,設置配置名稱、高峰期QPS、使用場景、業務類型,并在驗證方式項選擇智能驗證。
說明其中,高峰期QPS指您業務峰值期間每秒的頁面訪問次數。
單擊下一步。
說明配置項一旦創建即寫入線上配置,不可修改和刪除,請您謹慎配置。
在系統代碼集成&測試頁面,妥善保存系統為您自動生成的前端和服務端的功能接入代碼。
在您的業務前端頁面和服務端中分別集成阿里云驗證碼提供的前端和服務端功能接入代碼。
配置接入完成后,即可在您的業務中使用阿里云的最新人機識別技術實現驗證碼。
更多功能
將智能驗證服務接入業務后,您還可以使用以下功能: