abdullahfaqeir/laravel-captcha

Captcha integration for Laravel

Maintainers

👁 AbdullahFaqeir

Package info

github.com/AbdullahFaqeir/laravel-captcha

Homepage

Issues

pkg:composer/abdullahfaqeir/laravel-captcha

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 0

v2.2.5 2022-02-15 01:27 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT ec13031bcfd459bf0d98937a2bb0f8016b995def

  • Dmitriy Igoshev <dmitry.igo.woop@gmail.com>
  • Abdullah Al-Faqeir <abdullah.woop@devloops.net>

captchaLaravel Captcha


README

👁 Latest Stable Version
👁 Total Downloads
👁 License

👁 example1
👁 example2
👁 example3
👁 example4
👁 example5
👁 example6
👁 example7
👁 example8
👁 example9
👁 example10
👁 example11
👁 example12

Installing Laravel Captcha Composer Package

Note: If you do not have Composer yet, you can install it by following the instructions on https://getcomposer.org

Step 1. Install package

composer require abdullahfaqeir/laravel-captcha
Captcha Laravel
v2.2 5.5 - 9.x
v2.1 5.4
v1.1 5.3 and below

Step 2 for Laravel 5.5 and below. Register the Laravel Captcha service provider

{LARAVEL_ROOT}/config/app.php:

'providers' => [
 ...
 Igoshev\Captcha\Providers\CaptchaServiceProvider::class,
],

Using Laravel Captcha

Generate a Captcha markup in your Controller:

<?php 

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class MyController extends Controller 
{
 public function getExample() 
 {
 return view('myView');
 }

}

Showing a Captcha in a View:

...
@captcha
<input type="text" id="captcha" name="captcha" autocomplete="off">
 ...

Check user input during form submission:

<?php 

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class MyController extends Controller 
{
 public function getExample() 
 {
 return view('myView');
 }

 public function postExample(Request $request)
 {
 	$this->validate($request, [
 'captcha' => 'required|captcha'
 ]);

 // Validation passed
 }
}

Configuration

php artisan vendor:publish --tag=bone-captcha-config
<?php

return [

/*
 |--------------------------------------------------------------------------
 | Captcha middleware
 |--------------------------------------------------------------------------
 |
 */
 'middleware' => ['web'],

 /*
 |--------------------------------------------------------------------------
 | Captcha routes
 |--------------------------------------------------------------------------
 |
 */
 'routes' => [
 'image' => 'captcha/image',
 'image_tag' => 'captcha/image_tag'
 ],

 /*
 |--------------------------------------------------------------------------
 | Blade directive
 |--------------------------------------------------------------------------
 | You can use blade directive @captcha for rendering captcha.
 |
 */
 'blade' => 'captcha',

 /*
 |--------------------------------------------------------------------------
 | Validator name
 |--------------------------------------------------------------------------
 |
 */
 'validator' => 'captcha',

 /*
 |--------------------------------------------------------------------------
 | Captcha generator.
 |--------------------------------------------------------------------------
 | Must implement GeneratorInterface.
 |
 */
 'generator' => \Igoshev\Captcha\Captcha\Generator\GeneratorWaves::class,

 /*
 |--------------------------------------------------------------------------
 | Storage code.
 |--------------------------------------------------------------------------
 | Must implement StorageInterface.
 |
 */
 'storage' => \Igoshev\Captcha\Captcha\Storage\SessionStorage::class,

 /*
 |--------------------------------------------------------------------------
 | Code generator.
 |--------------------------------------------------------------------------
 | Must implement CodeInterface.
 |
 */
 'code' => \Igoshev\Captcha\Captcha\Code\SimpleCode::class,

 /*
 |--------------------------------------------------------------------------
 | Font
 |--------------------------------------------------------------------------
 | Supported: "IndiraK".
 |
 */
 'font' => base_path('vendor/bonecms/laravel-captcha/src/resources/fonts/IndiraK.ttf'),

 /*
 |--------------------------------------------------------------------------
 | Font size
 |--------------------------------------------------------------------------
 | Font size in pixels.
 |
 */
 'fontSize' => 26,

 /*
 |--------------------------------------------------------------------------
 | Letter spacing
 |--------------------------------------------------------------------------
 | Spacing between letters in pixels.
 |
 */
 'letterSpacing' => 2,

 /*
 |--------------------------------------------------------------------------
 | Code Length
 |--------------------------------------------------------------------------
 | You can specify an array or integer.
 |
 */
 'length' => [4, 5],

 /*
 |--------------------------------------------------------------------------
 | Displayed chars
 |--------------------------------------------------------------------------
 | Enter the different characters.
 |
 */
 'chars' => 'QSFHTRPAJKLMZXCVBNabdefhxktyzj23456789',

 /*
 |--------------------------------------------------------------------------
 | Image Size
 |--------------------------------------------------------------------------
 | Captcha image size can be controlled by setting the width
 | and height properties.
 |
 |
 */
 'width' => 180,
 'height' => 50,

 /*
 |--------------------------------------------------------------------------
 | Background Captcha
 |--------------------------------------------------------------------------
 | You can specify an array or string.
 |
 */
 'background' => 'f2f2f2',

 /*
 |--------------------------------------------------------------------------
 | Colors characters
 |--------------------------------------------------------------------------
 | You can specify an array or string.
 |
 */
 'colors' => '2980b9',

 /*
 |--------------------------------------------------------------------------
 | Scratches
 |--------------------------------------------------------------------------
 | The number of scratches displayed in the Captcha.
 |
 */
 'scratches' => [1, 6],

 /*
 |--------------------------------------------------------------------------
 | Id of the Captcha code input textbox
 |--------------------------------------------------------------------------
 | After updating the Captcha focus will be set on an element with this id.
 |
 */
 'inputId' => 'captcha',
 
];

Localization

Supported languages (17):

  • Arabic
  • Chinese
  • Dutch
  • English
  • French
  • German
  • Hindi
  • Indonesian
  • Italian
  • Japanese
  • Korean
  • Persian
  • Portuguese
  • Russian
  • Spanish
  • Turkish
  • Ukrainian
php artisan vendor:publish --tag=bone-captcha-lang

View

php artisan vendor:publish --tag=bone-captcha-views

Donation

If this project help you reduce time to develop, you can give me a cup of coffee :)

👁 paypal