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