An open API service indexing awesome lists of open source software.

https://github.com/zablose/captcha

Simple captcha with optional goodies for Laravel.
https://github.com/zablose/captcha

captcha laravel php

Last synced: 6 months ago
JSON representation

Simple captcha with optional goodies for Laravel.

Awesome Lists containing this project

README

          

![](https://github.com/zablose/captcha/actions/workflows/tests-on-master.yml/badge.svg)
![](https://github.com/zablose/captcha/actions/workflows/tests-on-dev.yml/badge.svg)

# Captcha

Simple captcha with optional goodies for Laravel.

## Installation

```
composer require zablose/captcha
```

## Usage with Laravel

### New Route & Captcha Types

Check new route is working, by visiting `/captcha` or `/captcha/{type}`.

| Captcha | Type | Dev Link |
|------------------------------------------|-----------|--------------------------------------------------------------------|
| ![](readme/images/captcha-default.png) | default | [/captcha/default](https://captcha.zdev:44302/captcha/default) |
| ![](readme/images/captcha-small.png) | small | [/captcha/small](https://captcha.zdev:44302/captcha/small) |
| ![](readme/images/captcha-invert.png) | invert | [/captcha/invert](https://captcha.zdev:44302/captcha/invert) |
| ![](readme/images/captcha-sharpness.png) | sharpness | [/captcha/sharpness](https://captcha.zdev:44302/captcha/sharpness) |
| ![](readme/images/captcha-blur.png) | blur | [/captcha/blur](https://captcha.zdev:44302/captcha/blur) |
| ![](readme/images/captcha-contrast.png) | contrast | [/captcha/contrast](https://captcha.zdev:44302/captcha/contrast) |
| ![](readme/images/captcha-no-angle.png) | no-angle | [/captcha/no-angle](https://captcha.zdev:44302/captcha/no-angle) |
| ![](readme/images/captcha-bg-color.png) | bg-color | [/captcha/bg-color](https://captcha.zdev:44302/captcha/bg-color) |

Look at the [config](./config/captcha.php) file for more details.

### Login Form

If standard auth is in use, add captcha to your login form like in the
[login.blade.php](./laravel/resources/views/auth/login.blade.php) template.

### Validation

If standard auth is in use, overwrite method `validateLogin` like in
[LoginController](./laravel/app/Http/Controllers/Auth/LoginController.php) class.

## Basic Usage

In case you are not a 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
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
Check submodule [readme](https://github.com/zablose/docker-images/blob/master/readme.md) for more details about
> development environment used.

### Hosts

Append to `/etc/hosts`.

```
127.0.0.26 captcha.zdev
```

### Quick Start

$ 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 up -d

# To "enter" container, using Bash shell.
$ docker exec -u debian -it captcha-php-fpm bash

(captcha-php-fpm)$ phpunit