Simple captcha with optional goodies for Laravel.
composer require zablose/captcha
Check new route is working, by visiting /captcha
or /captcha/{type}
.
Captcha | Type | Dev Link |
---|---|---|
default | /captcha/default | |
small | /captcha/small | |
invert | /captcha/invert | |
sharpness | /captcha/sharpness | |
blur | /captcha/blur | |
contrast | /captcha/contrast | |
no-angle | /captcha/no-angle | |
bg-color | /captcha/bg-color |
Look at the config file for more details.
If standard auth is in use, add captcha to your login form like in login.blade.php template.
If standard auth is in use, overwrite method validateLogin
like in
LoginController class.
In case you are not happy Laravel user, you may still use this package.
Create captcha, add details to the session and output the image.
A code may look like:
<?php
require __DIR__ . '/../vendor/autoload.php';
use Zablose\Captcha\Captcha;
use Zablose\Captcha\Config;
use Zablose\Captcha\Image;
$captcha = new Captcha(
new Image(
(new Config())->update(['invert' => true, 'width' => 220])
)
);
$data = [
'captcha' => [
'sensitive' => $captcha->isSensitive(),
'hash' => $captcha->hash(),
],
];
// Add $data to the session.
echo $captcha->toPng();
To check captcha use:
<?php
use Zablose\Captcha\Captcha;
// ...
Captcha::verify('captcha', 'hash');
Feel the joy and happiness!
Check submodule readme for more details about development environment used.
Append to /etc/hosts
.
127.0.0.1 captcha.zdev
127.0.0.1 www.captcha.zdev
$ git clone -b 'dev' --single-branch --depth 1 https://github.com/zablose/captcha.git captcha
$ cd captcha
$ git submodule update --init
# Copy env file, then ammend it to your needs.
$ cp .env.example .env
$ docker-compose -p zdev up -d
# To see post-script logs, while container is starting.
$ tail -f docker-damp/logs/all.log
# To enter container, using Bash shell.
$ docker exec -it captcha-damp bash
(captcha-damp)$ phpunit
This package is free software distributed under the terms of the MIT license.