首頁 > 資訊科技 > PHP > laravel > 邊學邊做laravel(A-3)安裝隱形reCAPTCHA
2017
07-09

邊學邊做laravel(A-3)安裝隱形reCAPTCHA

為避免使用者濫用或是使用腳本送出惡意表單,網站都會加入 CAPTCHA 確保用戶是人類,但早期的 CAPTCHA 對使用者十分不便,因為驗證文字對使用者來說有時非常難辨識,甚至是語言問題根本看不懂,一直到Google推出 NO CAPTCHA reCAPTCHA情況才有改善。

邊學邊做laravel(A-3)安裝隱形reCAPTCHA - 第1張  | 小翰部落格

後來又推出了「Invisible reCAPTCHA」隱形驗證工具,在laravel上,已經有人做成package了,以下就來安裝看看。

安裝

package連結: https://github.com/albertcht/invisible-recaptcha

在命令提示字元輸入

composer require albertcht/invisible-recaptcha

加入Service Provider

修改 /config/app.php 將下列程式碼加入


'providers' => [
...
// Laravel Debugbar
AlbertCht\InvisibleReCaptcha\InvisibleReCaptchaServiceProvider::class,
...
],

然後在google的api設定中,選擇 Invisible reCAPTCHA

邊學邊做laravel(A-3)安裝隱形reCAPTCHA - 第2張  | 小翰部落格

將 google 相關的API key填入 .ENV 檔案

INVISIBLE_RECAPTCHA_SITEKEY={siteKey}
INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}
INVISIBLE_RECAPTCHA_BADGEHIDE=false
INVISIBLE_RECAPTCHA_DEBUG=false

使用方法

在 blade 樣板檔案中加入下面這行,就可以產生 Invisible reCAPTCHA

{!! app('captcha')->render(); !!}

邊學邊做laravel(A-3)安裝隱形reCAPTCHA - 第3張  | 小翰部落格

如果要把這個隱藏,只需要修改 .ENV 的INVISIBLE_RECAPTCHA_BADGEHIDE為 true 即可。

驗證方法

在form表單驗證中加入一個規則

$validate = Validator::make(Input::all(), [
'g-recaptcha-response' => 'required|captcha'
]);

最後修改日:
作者:蔡 小翰

常見問題:

  1. 文章可以轉貼嗎?可以,不過請要註明出處並標示本站連結。
  2. 載點可以轉貼嗎?可以,歡迎隨意盜連,無須告知。
  3. 反盜版聲明:本站支持正版軟體,請勿討論破解版、快樂版、註冊碼、註冊機、序號...等違法主題。
  4. 檔案無法解壓縮或解壓縮時發生錯誤?請使用7-Zip解壓縮
  5. 更多細節請參閱使用條款及免責聲明


發表迴響