網站架設 Google reCAPTCHA V2 機器人驗證
如果已經註冊過,想查詢自己的公私鑰:
https://www.google.com/recaptcha/admin#list
還沒註冊過的,下面三步驟建立Google reCAPTCHA~
STEP I
前往 Google機器人官網,點選右上的 「Admin console」按鈕。
![](http://www.tshopping.com.tw/data/attachment/forum/202111/07/220738vp6ufsx7nzr6i8ur.png)
![1.png 1.png](https://pic.pimg.tw/netyea/1672325653-3144997476-g_n.png?v=1672325665)
STEP II
填入名稱、選擇驗證類型、網域、管理者,同意Google蒐集網頁資訊、建立
選1.勾選我不是機器人
![](http://www.tshopping.com.tw/data/attachment/forum/202111/07/220738x776wwj7jt49t9m6.png)
![2.png 2.png](https://pic.pimg.tw/netyea/1672325653-1577325809-g.png?v=1672325656)
STEP III
![3.png 3.png](https://pic.pimg.tw/netyea/1672325653-3331874772-g_n.png?v=1672325665)
![](http://www.tshopping.com.tw/data/attachment/forum/202111/07/220739cr24ckv40t8eef0b.png)
下方則是貼到要顯示的位置
- <div id="recaptcha_box2"></div>
複製代碼
這段代碼接到網站<head>裡面
- <!-- Google reCAPTCHA -->
- <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback2&render=explicit" async></script>
- <script>
- var onloadCallback2 = function() {
- grecaptcha.render("recaptcha_box2", {
- /* Change Your sitekey */
- "sitekey": "公鑰",
- "callback": callback2
- });
- };
-
- function callback2() {
- /* 這裡可執行提交表單的動作
- alert("恭喜你驗證成功");
- */
- document.getElementById("submit2").disabled = false;
- document.getElementById("submit2").classList.remove('au-btn--gray');
- document.getElementById("submit2").classList.add('au-btn--yellow');
- }
- </script>
複製代碼
PHP驗證版
網站架設
- // GOOGLE RECAPTHA
- $data['secret'] = '私鑰';
- $data['response'] = $_POST['g-recaptcha-response'];
- $ch = curl_init();
- // 使用CURL驗證
- curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
- curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
- $result = curl_exec($ch);
- curl_close($ch);
- // 解密
- $result = json_decode($result, true);
-
- // 檢查是否通過驗證
- if ( ! isset($result['success']) || ! $result['success']) {
- // 驗證失敗
- echo "<script>alert('驗證碼機器人失敗!');history.go(-1);</script>";
- exit;
- }
複製代碼
然後在form的action程式裏面貼上使用這個function ,如果false就不給登入,就可以啦~
查詢建立好的公私鑰: https://www.google.com/recaptcha/admin/site/350731086/settings
文章出處