mohammadv184 / arcaptcha-laravel
Laravel Package for the ArCaptcha
Requires
- php: >=7.3
- laravel/framework: ^5.0|^6.0|^7.0|^8.0|^9.0
- mohammadv184/arcaptcha: ^1.0
Requires (Dev)
- orchestra/testbench: ^6.19
- squizlabs/php_codesniffer: ^3.6
Suggests
- mohammadv184/arcaptcha: PHP library for ArCaptcha
README
Laravel ArCaptcha Package
Laravel Package for the ArCaptcha
This package supports PHP 7.3+
.
For PHP integration you can use mohammadv184/arcaptcha package.
List of contents
Installation
You can install the package via composer:
composer require mohammadv184/arcaptcha-laravel
Laravel 5.5 (or greater) uses package auto-discovery, so doesn't require you to manually add the Service Provider, but if you don't use auto-discovery ArCaptchaServiceProvider must be registered in config/app.php:
'providers' => [ ... Mohammadv184\ArCaptcha\Laravel\ArCaptchaServiceProvider::class, ];
You can use the facade for shorter code. Add ArCaptcha to your aliases:
'aliases' => [ ... 'ArCaptcha' => Mohammadv184\ArCaptcha\Laravel\Facade\ArCaptcha::class, ];
Configuration
Publish package
Create config/arcaptcha.php configuration file using the following artisan command:
php artisan vendor:publish --provider="Mohammadv184\ArCaptcha\Laravel\ArCaptchaServiceProvider"
Set the environment
Open .env file and set ARCAPTCHA_SITE_KEY
and ARCAPTCHA_SECRET_KEY
:
# in your .env file ARCAPTCHA_SITE_KEY=YOUR_API_SITE_KEY ARCAPTCHA_SECRET_KEY=YOUR_API_SECRET_KEY
Customize error message
Before starting please add the validation message to resources/lang/[LANG]/validation.php
file
return [ ... 'arcaptcha' => 'Hey!!! :attribute is wrong!', ];
How to use
How to use ArCaptcha in Laravel.
Embed Script in Blade
Insert @arcaptchaScript
blade directive before closing </head>
tag.
You can also use ArCaptcha::getScript()
.
<!DOCTYPE html> <html> <head> ... @arcaptchaScript </head>
Form setup
After you have to insert @arcaptchaWidget
blade directive inside the form where you want to use the field arcaptcha-token
.
You can also use ArCaptcha::getWidget()
.
<form> @csrf ... @arcaptchaWidget <!-- OR --> {!! ArCaptcha::getWidget() !!} <input type="submit"> </form>
Verify submitted data
Add arcaptcha
to your rules
$validator = Validator::make(request()->all(), [ ... 'arcaptcha-token' => 'arcaptcha', ]); // check if validator fails if($validator->fails()) { ... $errors = $validator->errors(); }
Credits
License
The MIT License (MIT). Please see License File for more information.