使用 Captcha 扩展包 为 Laravel 5 应用生成验证码

使用 Captcha 扩展包 为 Laravel 5 应用生成验证码

http://laravelacademy.org/post/3910.html

Laravel Captcha

1、安装

我们通过 Composer 安装 Captcha 扩展包:

composer require mews/captcha

注:Windows中使用该扩展包还需要安装 GD2 扩展(在php.ini中取消php_gd2.dll前面的注释)。

2、配置

使用Captcha服务提供者之前还需要在config/app.php中注册服务提供者:

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

同时注册下相应门面:

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

如果要使用自定义的配置,还可以发布配置文件到config目录:

$ php artisan vendor:publish

编辑新生成的captcha.php

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

3、使用示例

// 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>';
        }
    }

    $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;
});

显示效果如下:

Laravel Captcha

如果要返回原生图片,可以调用这个函数:

captcha();

或者

Captcha::create();

如果要返回URL:

captcha_src();

或者

Captcha::src();

如果要返回HTML:

captcha_img();

我们这个示例中使用的就是这个函数,或者调用Captcha门面上的方法:

Captcha::img();

要使用配置文件captcha.php中不同的配置项,可以这样调用:

captcha_img('flat');
Captcha::img('inverse');

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112978.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • wpf一定比winform好吗_winform转wpf好转吗

    wpf一定比winform好吗_winform转wpf好转吗1、结果来说,属于两套界面渲染方式。一个是对传统windows界面元素的封装,通过gdi绘制。另一个是全新的dx渲染绘制的界面,也脱离了对传统windows控件的依赖,没有历史包袱,理论上可以展现更炫酷的界面。对初级开发人员来说,没太大区别,类似的基本设计器是他们设计界面的主要手段,一样给事件编写代码。对初级以上开发人员来说,wpf需要学习xaml,有全新的ui描述语言,特别是可以通过模板的嵌套…

    2025年7月27日
    1
  • phpstorm2021永久激活码【2021最新】

    (phpstorm2021永久激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

    2022年3月26日
    301
  • Oracle数据库中 dbms_output.put_line 不显示的问题解决方案

    @Json.Xu 在学习Oracle的过程中学到匿名语句块在执行过程中发现控制台打印输出DBMS_OUTPUT.PUT_LINE(vename||’过节费’||vmsg);的时候并不显示。一下是我的数据库代码declare vename varchar2(20); vsal_comm emp.sal%type; vcomm emp.comm%type; …

    2021年11月30日
    61
  • KNN与SVM对比&SVM与逻辑回归的对比

    KNN与SVM对比&SVM与逻辑回归的对比

    2021年11月19日
    56
  • 腾讯股票数据接口

     0:未知 1:名字:name 2:代码:code 3:现价:trade 4:昨收:yestclose 5:今开:open 6:成交量(手):volume 7:外盘 8:内盘 9:买一10:买一量(手)11-18:买二买五19:卖一20:卖一量21-28:卖二卖五29:最近逐笔成交30:时间31:涨跌:change32:涨跌幅:changepercent33:最高:high34:最低:low3…

    2022年4月8日
    183
  • 网络爬虫之网站背景调研建议收藏

    1.检查robots.txt大多数网站都会定义一robots.txt文件,这样可以了解爬取该网站时存在哪些限制,在爬取之前检查robots.txt文件这一宝贵资源可以最小化爬虫被封禁的可能,而且还

    2021年12月19日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号