請進行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-tw/n/371994.html