Google reCAPTCHA驗證表單
2016-08-16

即使是個小網頁,只要有放上表單的地方,就有可能遭到機器人攻擊,像我之前就接到一百多封機器人的信件,真的很煩。如要必免這種事情發生,就必需驗證是否為人類,而有一個快速又便利的方法就是使用Google提供的recaptcha「我不是機器人」驗證法

這個小方塊相信各位都不陌生,重點就在於怎麼放上自己的網頁

STEP1:取得金鑰

首先先在www.google.com/recaptcha/intro/index.html點擊Get reCAPTCHA

接著要登入Google帳戶,並在底下註冊自己的域名

按下Register會出現一堆英文,這個時候會得到兩把鑰匙

STEP2:表單端

1.導入Google的Javascript

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

2.驗證按鈕主體

    <div class="g-recaptcha" data-sitekey="
    自己的Site key
    "></div>

STEP3:程式端

1.製作一個function

    <?php
    function recaptcha(){
  • $secret_key = '
    自己的Secret key
    ';
  • $url = sprintf('https://www.google.com/recaptcha/api/siteverify?secret=%s&response=%s&remoteip=%s', $secret_key, $_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
  • $res = json_decode(file_get_contents($url));
  • return ($res->success);
    }
    ?>

如果這個function傳回 0 則代表驗證錯誤,如果為 1 則代表正確

2.調用函數

    if(recaptcha()==0){
  • //錯誤
    }else{
  • //成功
    }

廣告測試中