Skip to content

Captcha

JP Barbosa edited this page Mar 11, 2016 · 3 revisions

Captcha

Add Recaptcha package using composer
composer require greggilbert/recaptcha
Add recaptcha provider and facade on the configuration
nano config/app.php
    ...
    'providers' => [
        ...
        Greggilbert\Recaptcha\RecaptchaServiceProvider::class,
    ],
    ...
    'aliases' => [
        ...
        'Recaptcha' => Greggilbert\Recaptcha\Facades\Recaptcha::class,
    ],
Generate configuration file
php artisan vendor:publish
Add recaptcha validation on recommend article
nano app/Http/Requests/RecommendationRequest.php
...
    public function rules()
    {
        return [
            'email' => 'required|email',
            'g-recaptcha-response' => 'required|recaptcha'
        ];
    }
...
Add recaptcha to recommendation view
nano resources/views/recommendations/create.blade.php
...
{!! Form::open(['route' => ['articles.recommendations.store', $article->id]]) !!}
    <div class='form-group'>
        {!! Form::label('email', 'Email:') !!}
        {!! Form::text('email', null, ['class' => 'form-control']) !!}
    </div>
    {!! Recaptcha::render() !!}
    {!! Form::submit('Send Recommendation', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
...
Add recaptcha keys to environment variables
nano .env
...
RECAPTCHA_PUBLIC_KEY=YourCaptchaPublicKey
RECAPTCHA_PRIVATE_KEY=YourCaptchaPrivateKey
Run the server
php artisan serve
Run the redis server
redis-server
Run queue listen
php artisan queue:listen
Recommend a article (Check if this article exists in your database)
open http://localhost:8000/articles/1/recommendations/create
Check your e-mail or if you configure to pretend send mail you can check the log
tail storage/logs/laravel.log
Add Recaptcha to Git
git add .
git commit -m "Add recaptcha"
Clone this wiki locally