Google reCAPTCHA機器人驗證 教學 PHP範例

Derek Wu
Apr 21, 2020

--

(2020/08/18更新) Google reCAPTCHA 的頁面換版了、文章也一起更新囉!雖然我覺得之前的版比較好看~

如果已經註冊過,想查詢自己的公私鑰:
https://www.google.com/recaptcha/admin#list
還沒註冊過的,下面三步驟建立Google reCAPTCHA~

STEP I

前往 Google機器人官網,點選右上的 「Admin console」按鈕。

STEP II

填入名稱、選擇驗證類型、網域、管理者,同意Google蒐集網頁資訊、建立

STEP III

這段代碼接到網站<head>裡面

<script src='https://www.google.com/recaptcha/api.js'></script>

下方則是貼到要顯示的位置

<div class="g-recaptcha" data-sitekey="貼上Public公鑰"></div>

PHP驗證版

/**
* Google機器人驗證
* @param string $token
* @return bool
*/
function recaptchaCheck($token){
if(!$token){
echo "機器人驗證-未驗證";
return false;
}

$secret_key = '貼上Private私鑰';
$response = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret_key.'&response='.$token);
$response_data = json_decode($response,true);
if($response_data["success"]){
echo "驗證成功";
return True;
}else{
echo "機器人驗證-失敗";
return False;
}
}

然後在form的action程式裏面貼上使用這個function ,如果false就不給登入,就可以啦~

查詢建立好的公私鑰: https://www.google.com/recaptcha/admin/site/350731086/settings

終於到了Friday night準備收工下班啦

如果有讓你看完這篇文,可以幫我拍手 1–10 下
如果覺得文還算有趣,可以幫我拍手 10-20 下
如果覺得這文章對你有幫助,請幫我拍手 20–30 下
如果覺得想看到更多關於學習筆記的文章,可以幫我拍手 30–50 下
讓我知道,也記得 Follow我 DerekWu
更歡迎你在下方留言,我很樂意與你討論聊天或回答問題!

--

--

Derek Wu

B.S. in Math, 4 years Recsys engineer exp, currently pursuing M.S. in Computer Science. 數學系畢業,美國交換學生,四年演算法&系統工程師經驗,開發推薦系統。目前研究生在讀中, Work hard, play hard!