https://github.com/overlu/mini-captcha
https://github.com/overlu/mini-captcha
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/overlu/mini-captcha
- Owner: overlu
- Created: 2021-10-20T12:31:59.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-24T11:37:45.000Z (over 4 years ago)
- Last Synced: 2025-07-13T22:29:05.354Z (12 months ago)
- Language: PHP
- Size: 678 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Captcha for Mini
## Preview

## Installation
Require this package with composer:
```
composer require overlu/mini-captcha
```
Update your packages with ```composer update``` or install with ```composer install```.
In Windows, you'll need to include the GD2 DLL `php_gd2.dll` in php.ini. And you also need include `php_fileinfo.dll` and `php_mbstring.dll` to fit the requirements of `mews/captcha`'s dependencies.
## Usage
To use the Captcha Service Provider, you must register the provider when bootstrapping your Laravel application. There are
essentially two ways to do this.
Find the `providers` key in `config/app.php` and register the Captcha Service Provider.
```php
'providers' => [
// ...
MiniCaptcha\CaptchaServiceProvider::class,
]
```
## Configuration
To use your own settings, publish config.
```$ php bin/artisan vendor:publish```
`config/captcha.php`
```php
return [
'default' => [
'length' => 5,
'width' => 120,
'height' => 36,
'quality' => 90,
'math' => true, //Enable Math Captcha
'expire' => 60, //Stateless/API captcha expiration
],
// ...
];
```
## Example Usage
### Session Mode:
```php
// [your site path]/Http/routes.php
Route::any('captcha-test', function() {
if (request()->getMethod() == 'POST') {
$rules = ['captcha' => 'required|captcha'];
$validator = validator()->make(request()->all(), $rules);
if ($validator->fails()) {
echo '
Incorrect!
';
} else {
echo 'Matched :)
';
}
}
$form = '';
$form .= '';
$form .= '' . captcha_img() . '
';
$form .= '';
$form .= 'Check
';
$form .= '';
return $form;
});
```
### Stateless Mode:
You get key and img from this url
`http://localhost/captcha/api/math`
and verify the captcha using this method:
```php
//key is the one that you got from json response
// fix validator
// $rules = ['captcha' => 'required|captcha_api:'. request('key')];
$rules = ['captcha' => 'required|captcha_api:'. request('key') . ',math'];
$validator = validator()->make(request()->all(), $rules);
if ($validator->fails()) {
return response()->json([
'message' => 'invalid captcha',
]);
} else {
//do the job
}
```
# Return Image
```php
captcha();
```
or
```php
Captcha::create();
```
# Return URL
```php
captcha_src();
```
or
```
Captcha::src('default');
```
# Return HTML
```php
captcha_img();
```
or
```php
Captcha::img();
```
# To use different configurations
```php
captcha_img('flat');
Captcha::img('inverse');
```
etc.
Based on [Intervention Image](https://github.com/Intervention/image)
^_^