接入谷歌Google人機驗證:reCaptcha進行安全驗證

圖/文:迷神

我們在開發網站的時候,經常需要各種人機驗證,那我們就來學習下,網站如何接入谷歌Google人機驗證:reCaptcha進行安全驗證,本次使用的是 Google人機驗證 3。0版本

接入谷歌Google人機驗證:reCaptcha進行安全驗證

Google人機驗證V3

recaptcha v3為每個請求返回一個沒有使用者摩擦的分數,評分是基於使用者與您的站點的互動,並使您能夠為您的站點採取適當的行動。大約0。5是閥值,低於這個閥值,就需要進行一些識別和處理。

申請金鑰

1、先要有一個google賬戶,然後再去reCaptcha官網申請網站為:https://developers。google。com/recaptcha/

(需要過翻,你懂的)

2、去

https://www。google。com/recaptcha/admin#list

裡面去

建立秘鑰對,並且檢視

接入谷歌Google人機驗證:reCaptcha進行安全驗證

申請

接入谷歌Google人機驗證:reCaptcha進行安全驗證

檢視金鑰

大致流程:

1。頁面載入完畢,會自動去訪問app。js會進行回撥,拿到token後,將token傳遞給後端,

2。後端拿到token,去呼叫recaptcha提供的校驗介面,進行校驗,呼叫成功,返回json資料,後端可以根據json資料拿到分數字段

3。根據分數做自定義驗證,或者直接響應異常

注意點:鑑於國情,在國內使用的話,需要將demo中所有的www。google。com替換成www。recaptcha。net不然無法使用reCAPTCHA

建立頁面

前端部分程式碼:

伺服器端就需要看

根據前端提交過來的token進行校驗,注意,你可以使用ajax提交,也可以吧token插入到HTML的input hidden隱藏框,一起提交到後端進行校驗

後端校驗部分程式碼,java程式碼,其他程式語言類似,核心就是請求校驗的介面:

public String check(HttpServletRequest request) { String checkCode = request。getParameter(“token”); Map map = new HashMap<>(); // 私鑰 map。put(“secret”, “私鑰”); map。put(“response”, checkCode); String json = MyHttpRequest。sendPost(“https://www。recaptcha。net/recaptcha/api/siteverify”, map, “UTF-8”); return json;}

好了,其實核心也很簡單,按照上面的流程過程知道了,就可以實現。

有什麼問題,歡迎留言哈,覺得不錯,記得關注迷神哦。