Google reCAPTCHA w Laravel 5

Łukasz Piotrowski Komentarzy 0

    Google reCaptcha 2 to jedno z popularniejszych i chyba skuteczniejszych sposobów na zatrzymanie robotów.

    Nowa wersja już nie wymaga przepisywania numerków z obrazków. Teraz wystarczy kliknąć Checkbox. Jeśli jednak z jakiegoś powodu zostaniemy podejrzanymi Google będzie kazał nam wybrać 2 obrazki z listy.

    Integracja z Laravel jest dziecinnie prosta dzięki paczce anhskohbo/no-captcha co pokażę w kilku prostych krokach


    Instalacja

    1. Do pliku composer.json dodajemy:

      {
       "require": {
           "greggilbert/recaptcha": "dev-master"
       }
      }
    2. W pliku /config/app.php dodajemy ServiceProvider:

      Greggilbert\Recaptcha\RecaptchaServiceProvider::class,

      oraz Facade:

      'Recaptcha' => Greggilbert\Recaptcha\Facades\Recaptcha::class,
    3. Publikujemy konfigurację:

      php artisan vendor:publish --provider="Greggilbert\Recaptcha\RecaptchaServiceProvider"
    4. Ustawiamy w pliku /config/recaptcha.php nasze klucze do reCaptcha które można uzyskać w Google reCaptcha Admin

    Szablon

    Aby wyświetlić nasze zabezpieczenie dodajemy w pliku szablonu kawałek kodu:

    {!! Recaptcha::render(['lang' => App::getLocale()]) !!}

    Controller

    Aby sprawdzić czy przeszliśmy weryfikację sprawdzamy validując w ten sposób:

    $this->validate($request->all(), [
        'g-recaptcha-response' => 'required|recaptcha',
    ]);

    albo dodajemy do naszego customowego pliku Request.

    Język

    Ostatnią rzeczą którą musimy zrobić to dodanie do języków:

    "recaptcha" => 'Weryfikacja Captha niepoprawna',
    
    'custom' => [
        'g-recaptcha-response' => [
            'required' => 'Musisz potwierdzić Captha',
        ]
    ],

    Dzięki temu będziemy mogli w jasny sposób zakomunikować ew. błędy.

    Podsumowanie

    W bardzo prosty sposób możemy zabezpieczyć swoje formularze, rejestracje oraz inne elementy wystawione na działanie botów.

    Jeśli macie jakieś pytania lub problemy zapraszam do komentowania lub kontaktu przez Formularz a na pewno pomogę oraz uzupełnię ew. wpis o FAQ lub poprawki

    GitHib - reCAPTCHA Validator for Laravel 5

    Top