請進行recaptcha驗證

請進行recaptcha驗證是常見的網站驗證方式,它可以有效地防止機械人惡意攻擊和濫用網站的資源。本文將從多個方面介紹recaptcha驗證的相關內容。

一、驗證流程

recaptcha驗證流程通常包括以下幾個步驟:

1、用戶訪問網站並提交相關操作請求;

2、網站服務器首先返回一個recaptcha驗證碼的頁面,包括一個由Google生成的秘鑰sitekey和一個驗證地址;

<!DOCTYPE html>
<html>
<head>
  <title>Recaptcha Verification</title>
  <script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
  <form action="submit-url" method="POST">
    <div class="g-recaptcha" data-sitekey="網站生成的sitekey"></div>
    <br/>
    <input type="submit" value="提交"/>
  </form>
</body>
</html>

3、用戶在相應的驗證區域輸入驗證碼,Google會根據用戶的行為進行一系列的分析,最終判斷用戶是否為人類;

4、如果驗證成功,網站服務器將會繼續執行用戶的請求。

二、驗證類型

recaptcha驗證包括兩種類型,分別為recaptcha v2和recaptcha v3:

1、recaptcha v2

recaptcha v2是最常用的驗證方式,用戶需要點擊一個複選框或完成一個圖片識別任務來證明自己是人類。

<script src='https://www.google.com/recaptcha/api.js'></script>
<form method="POST" action="/submit-url">
  <div class="g-recaptcha" data-sitekey="網站生成的sitekey"></div>
  <br/>
  <input type="submit" value="提交"/>
</form>

2、recaptcha v3

recaptcha v3是一種無感知的驗證方式,它會自動計算用戶的行為並返回一個驗證分數。網站可以根據分數進行相應的處理,例如要求用戶輸入驗證碼、禁止部分功能等。

<script src='https://www.google.com/recaptcha/api.js?render=網站生成的sitekey'></script>
<script>
  grecaptcha.ready(function() {
    grecaptcha.execute('網站生成的sitekey', {action: 'submit'}).then(function(token) {
      // 將token提交到服務器進行驗證
    });
  });
</script>

三、代碼示例

以下是一個完成recaptcha v2驗證的示例代碼:

<?php
if (isset($_POST['submit'])) {
  $secret_key = "Google生成的secret key";
  $response_key = $_POST['g-recaptcha-response'];
  $user_ip = $_SERVER['REMOTE_ADDR'];
  $url = "https://www.google.com/recaptcha/api/siteverify?secret=".$secret_key."&response=".$response_key."&remoteip=".$user_ip;
  $response = file_get_contents($url);
  $response = json_decode($response, true);
  if ($response["success"] === true) {
    echo "驗證成功";
  } else {
    echo "驗證失敗";
  }
}
?>
<!DOCTYPE html>
<html>
<head>
  <title>Recaptcha Verification</title>
  <script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
  <form action="" method="POST">
    <div class="g-recaptcha" data-sitekey="網站生成的sitekey"></div>
    <br/>
    <input type="submit" name="submit" value="提交"/>
  </form>
</body>
</html>

四、總結

recaptcha驗證是一種有效的防止機械人攻擊和濫用網站資源的方式,通過簡單的代碼實現可以保護網站的安全。我們可以根據不同的業務需求選擇不同的驗證類型。同時,我們也應該注意儘可能多地提供一些輔助手段,方便用戶完成驗證。

原創文章,作者:KAFYQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/371994.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KAFYQ的頭像KAFYQ
上一篇 2025-04-23 18:08
下一篇 2025-04-23 18:08

相關推薦

  • Google reCAPTCHA驗證碼

    一、什麼是Google reCAPTCHA驗證碼 1. Google reCAPTCHA是一種驗證碼技術,它可以保護網站免受惡意攻擊和垃圾郵件的侵擾。reCAPTCHA驗證碼是一種…

    編程 2025-01-02

發表回復

登錄後才能評論