欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Captcha for Laravel 5 验证码

0

PHP有没有自带的生成验证码方法,若没有是要自行画图吗?

使用ip()方法报错提示ip function不存在,
查看手册是在class Illuminate Http Request

该如何使用这个类呢?

还有 如何伪静态使得访问 http://localhost/test.html 是访问http://localhost/test 是一样的效果。
可能表述的不好。

2 个回答

 
1
采纳

有专门的验证码package mews/captcha
获取ip use Request;echo Request::getClientIp();



来自 https://segmentfault.com/q/1010000002874087?sort=created


Captcha for Laravel 5
PHPMakefile
 
Upload filesFind file
New pull request

 README.md

Captcha for Laravel 5

Build Status Scrutinizer Code Quality

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

for Laravel 4 Captcha for Laravel Laravel 4

Preview

Preview

Installation

The Captcha Service Provider can be installed via Composer by requiring the mews/captcha package and setting theminimum-stability to dev (required for Laravel 5) in your project's composer.json.

{
    "require": {
        "laravel/framework": "5.0.*",
        "mews/captcha": "~2.0"
    },
    "minimum-stability": "dev"
}

or

Require this package with composer:

composer require mews/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 as an extension in php.ini.

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.

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

for Laravel 5.1+

    'providers' => [
        // ...
        Mews\Captcha\CaptchaServiceProvider::class,
    ]

Find the aliases key in config/app.php.

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

for Laravel 5.1+

    'aliases' => [
        // ...
        'Captcha' => Mews\Captcha\Facades\Captcha::class,
    ]

Configuration

To use your own settings, publish config.

$ php artisan vendor:publish

config/captcha.php

return [
    'default'   => [
        'length'    => 5,
        'width'     => 120,
        'height'    => 36,
        'quality'   => 90,
    ],
    // ...
];

Example Usage

    // [your site path]/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>';
            }
        }

        $form = '<form method="post" action="captcha-test">';
        $form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';
        $form .= '<p>' . captcha_img() . '</p>';
        $form .= '<p><input type="text" name="captcha"></p>';
        $form .= '<p><button type="submit" name="check">Check</button></p>';
        $form .= '</form>';
        return $form;
    });

Return Image

captcha();

or

Captcha::create();

Return URL

captcha_src();

or

Captcha::src();

Return HTML

captcha_img();

or

Captcha::img();

To use different configurations

captcha_img('flat');

Captcha::img('inverse');

etc.

Based on Intervention Image

^_^

Links

来自 https://github.com/mewebstudio/captcha
普通分类: