cloaca/captcha

Laravel 4 的 Captcha 包

dev-master 2015-08-07 18:26 UTC

This package is not auto-updated.

Last update: 2024-09-18 09:07:08 UTC


README

这是一个简单的 Laravel 4 服务提供程序,用于包含 Captcha for Laravel 4

预览

Preview

安装

可以通过通过在项目的 composer.json 中添加 mews/captcha 包并设置 minimum-stabilitydev(Laravel 4 所需)来使用 Composer 安装 Captcha 服务提供程序。

{
    "require": {
        "laravel/framework": "4.1.*",
        "mews/captcha": "dev-master-l4"
    },
    "minimum-stability": "dev"
}

###更新安装

mauris 分支相较于 mewebstudio 的改进在 pull request 中列出。

为了使用 mauris 的分支,需要在 composer.json 中按以下方式添加仓库

{
    "require": {
        "laravel/framework": "4.1.*",
        "mews/captcha": "1.0.*"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/mauris/captcha"
        }
    ]
}

使用 composer update 更新包或使用 composer install 安装。

在 Windows 上,您需要在 php.ini 中将 GD2 DLL php_gd2.dll 作为扩展包含进去。

用法

要使用 Captcha 服务提供程序,您必须在启动 Laravel 应用程序时注册提供程序。实际上有两种方法可以做到这一点。

app/config/app.php 中找到 providers 键并注册 Captcha 服务提供程序。

    'providers' => array(
        // ...
        'Mews\Captcha\CaptchaServiceProvider',
    )

app/config/app.php 中找到 aliases 键。

    'aliases' => array(
        // ...
        'Captcha' => 'Mews\Captcha\Facades\Captcha',
    )

配置

要使用自己的设置,请发布配置。

$ php artisan config:publish mews/captcha

示例用法

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

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

        if (Request::getMethod() == 'POST')
        {
            $rules =  array('captcha' => array('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::img(), 'Captcha image') . '</p>';
        $content .= '<p>' . Form::text('captcha') . '</p>';
        $content .= '<p>' . Form::submit('Check') . '</p>';
        $content .= '<p>' . Form::close() . '</p>';
        return $content;

    });

^_^

链接