圖/文:迷神
我們在開發網站的時候,經常需要各種人機驗證,那我們就來學習下,網站如何接入谷歌Google人機驗證:reCaptcha進行安全驗證,本次使用的是 Google人機驗證 3.0版本
Google人機驗證V3recaptcha 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程式碼,其他程式語言類似,核心就是請求校驗的介面:
最新評論