Laravel的验证码库

韦小宝
发布: 2017-11-24 09:19:22
原创
1577人浏览过

laravel中有很多图片验证码的库可以使用,本篇介绍其laravel之一:gregwar/captcha,这个库比较简单,在laravel中比较常用。下面我们就来介绍下使用细节:

首先, composer.json中如下加入配置:

"require": {
        ...
        "gregwar/captcha": "1.*"
    },
登录后复制

然后,已成习惯的命令:

composer update
登录后复制

接下来就可以正常使用了,根据具体的开发需求,可以有很多种方式去使用。

可以将验证码图片保存文件:

<?php$builder->save('out.jpg');
登录后复制

可以直接输出图片到网页:

<?php
header('Content-type: image/jpeg');
$builder->output();
登录后复制

可以生成内联图片:

@@##@@inline(); ?>" />
登录后复制

以下演示了其中一种使用方式,直接输出图片到网页。

定义一个Controller:

<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
登录后复制

//引用对应的命名空间

use Gregwar\Captcha\CaptchaBuilder;
use Session;

class KitController extends Controller {

   /**
    * Display a listing of the resource.
    *
    * @return Response
    */
   public function captcha($tmp)
   {
       //生成验证码图片的Builder对象,配置相应属性
       $builder = new CaptchaBuilder;
       //可以设置图片宽高及字体
       $builder->build($width = 100, $height = 40, $font = null);
       //获取验证码的内容
       $phrase = $builder->getPhrase();

       //把内容存入session
       Session::flash('milkcaptcha', $phrase);
       //生成图片
       header("Cache-Control: no-cache, must-revalidate");
       header('Content-Type: image/jpeg');
       $builder->output();
   }
}
登录后复制

下面我们可以设置相应的router访问这个验证码图片, 修改router.php:

Route::get('kit/captcha/{tmp}', 'KitController@captcha');
登录后复制

现在可以通过具体的url,可以访问看到这张图片了。

验证码

表单内部写的比较简单,看看即可:

<input type="text" name="captcha" class="form-control" style="width: 300px;">
<a onclick="javascript:re_captcha();" >
  @@##@@
</a>
<script>  
  function re_captcha() {
    $url = "{{ URL('kit/captcha') }}";
        $url = $url + "/" + Math.random();
        document.getElementById('c2c98f0de5a04167a9e427d883690ff6').src=$url;
  }
</script>
登录后复制

最后就是在form提交页面验证相应验证码,库中也为我们提供了相应方法:

$userInput = $request->get('captcha');
if($builder->testPhrase($userInput)) {
    //用户输入验证码正确
    return '您输入验证码正确';
} else {
    //用户输入验证码错误
    return '您输入验证码错误';
}
登录后复制

至此,验证码就完成了。以上就是Laravel的验证码库gregwar/captcha的使用过程,有兴趣的到PHP中文网搜索更多哦~

相关推荐:

laravel使用mongodb数据库的方法教程

Laravel中开发短信验证码发送功能

Laravel中关于model validation的使用示例

Laravel的验证码库Laravel的验证码库

以上就是Laravel的验证码库的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号