reCAPTCHA v3 使用範例


方法一方法二後端 GAS筆記文

Google Apps Script 的程式碼

參考文件:Verifying the user's response

code

function doPost(e) {

  var params = e.parameter;
  var token = params.token; // 從前端傳來的 token
  var ip = params.ip; // 從前端傳來的 IP
  
  var uri = 'https://www.google.com/recaptcha/api/siteverify';
  var data = {
    secret: 'reCAPTCHA 後台取得的「密鑰」',
    response: token, 
    remoteip: ip
  }
  
  var option = {
    method: 'post',
    payload: data
  };
  
  var response = UrlFetchApp.fetch(uri, option);
  return ContentService.createTextOutput(response).setMimeType(ContentService.MimeType.JSON);
  
}

remoteip 為選填。

程式碼寫完後要「發佈 > 部署為網路應用程式」,並把取得的 URL 給前端 POST。

回傳的會是 JSON,範例

{
  "success": true|false,
  "score": number, // 0.0 - 1.0。0 代表是機器人、1 代表是人類
  "action": string, // 可以比對跟我們送出去的 action 相不相同
  "challenge_ts": yyyy-MM-dd'T'HH:mm:ssZZ, 
  "hostname": string,
  "error-codes": [...] // optional
}