首頁>科技>

圖/文:迷神

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

Google人機驗證V3

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

申請金鑰

1、先要有一個google賬戶,然後再去reCaptcha官網申請網站為:https://developers.google.com/recaptcha/(需要過翻,你懂的)

2、去https://www.google.com/recaptcha/admin#list 裡面去建立秘鑰對,並且檢視

申請

檢視金鑰

大致流程:

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

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

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

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

建立頁面

前端部分程式碼:

<script src="https://www.recaptcha.net/recaptcha/api.js?render=公鑰"></script><script>        grecaptcha.ready(function() {            grecaptcha.execute('公鑰', {action: 'login'}).then(function(token) {                $.ajax({                    type: "POST",                    url:"/check",                    data: {"token":token},                    success: function(result) {                        alert(result);                    }                });            });        });</script>

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

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

9
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 陳根:數字時代刻畫零工經濟,一場古老的工作革命