latrell/captcha

Captcha Package for Laravel 5

1.4 2017-09-18 04:05 UTC

This package is not auto-updated.

Last update: 2024-11-09 16:58:34 UTC


README

For Laravel 4, please use the 1.1 branch!

Captcha for Laravel 5

A simple Laravel 5 service provider for including the Captcha for Laravel 5.

This library is not maintained for 3rd party use.

Preview

Captchas examples

Installation

composer require latrell/captcha dev-master

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 (only for Laravel 5.4 or below).

Find the providers key in config/app.php and register the Captcha Service Provider.

    'providers' => [
        // ...
        'Latrell\Captcha\CaptchaServiceProvider',
    ]

Find the aliases key in config/app.php.

    'aliases' => [
        // ...
        'Captcha' => 'Latrell\Captcha\Facades\Captcha',
    ]

Custom error messages. Add key captcha to resources/lang/[local]/validation.php

return [
	// ...
	'captcha' => '图片验证码不正确。',
];

Then publish the config file with php artisan vendor:publish. This will add the file config/latrell-captcha.php. This config file is the primary way you interact with Captcha.

Example Usage

    // [your site path]/app/Http/routes.php

    Route::any('/captcha-test', function()
    {

        if (Request::getMethod() == 'POST')
        {
            $rules =  ['captcha' => 'required|captcha'];
            $validator = Validator::make(Input::all(), $rules);
            if ($validator->fails())
            {
                echo '<p style="color: #ff0000;">Incorrect!</p>';
            }
            else
            {
                echo '<p style="color: #00ff30;">Matched :)</p>';
            }
        }

        $content = Form::open(array(URL::to(Request::segment(1))));
        $content .= '<p>' . HTML::image(Captcha::url()) . '</p>';
        $content .= '<p>' . Form::text('captcha') . '</p>';
        $content .= '<p>' . Form::submit('Check') . '</p>';
        $content .= '<p>' . Form::close() . '</p>';
        return $content;

    });

Links