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

 1,688 total views,  5 views today

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

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

安裝

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

在命令提示字元輸入

[shell]composer require albertcht/invisible-recaptcha[/shell]

加入Service Provider

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

[php]

‘providers’ => [

// Laravel Debugbar
AlbertCht\InvisibleReCaptcha\InvisibleReCaptchaServiceProvider::class,

],

[/php]

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

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

[shell]INVISIBLE_RECAPTCHA_SITEKEY={siteKey}
INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}
INVISIBLE_RECAPTCHA_BADGEHIDE=false
INVISIBLE_RECAPTCHA_DEBUG=false[/shell]

使用方法

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

[php]{!! app(‘captcha’)->render(); !!}[/php]

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

驗證方法

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

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

發表迴響

%d 位部落客按了讚: