laravel 验证码使用示例

1、验证码下载

https://packagist.org/ 网站搜索验证码的代码依赖,关键词:captcha

地址:https://packagist.org/packages/mews/captcha

2、 环境要求

PHP版本>=5.4、需要开启GD库,同时需要开启fileinfo和mbstring扩展

3、验证码安装

使用Composer进行安装代码依赖包:

  1. composer require mews/captcha

img

4、修改配置文件

修改配置文件:config/app.php

1、配置providers数组信息,添加一行信息:

  1. Mews\Captcha\CaptchaServiceProvider::class,

img

2、配置别名aliases键,添加一个别名记录

  1. 'Captcha' => Mews\Captcha\Facades\Captcha::class,

img

5、生成配置文件

如果需要定义自己的配置,则需要使用以下命令生成配置文件(config/captcha.php)

  1. php artisan vendor:publish

输入刚刚添加的配置信息的序号生成相应配置文件

发布之后会在config目录下找到对应的配置文件:

img

  1. <?php
  2. return [
  3. 'characters' => ['2', '3', '4', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'm', 'n', 'p', 'q', 'r', 't', 'u', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'M', 'N', 'P', 'Q', 'R', 'T', 'U', 'X', 'Y', 'Z'],
  4. 'default' => [
  5. 'length' => 4,
  6. 'width' => 120,
  7. 'height' => 36,
  8. 'quality' => 90,
  9. 'math' => false,
  10. 'expire' => 60,
  11. 'encrypt' => false,
  12. ],
  13. 'math' => [
  14. 'length' => 9,
  15. 'width' => 120,
  16. 'height' => 36,
  17. 'quality' => 90,
  18. 'math' => true,
  19. ],
  20. 'flat' => [
  21. 'length' => 4,
  22. 'width' => 160,
  23. 'height' => 46,
  24. 'quality' => 90,
  25. 'lines' => 6,
  26. 'bgImage' => false,
  27. 'bgColor' => '#ecf2f4',
  28. 'fontColors' => ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'],
  29. 'contrast' => -5,
  30. ],
  31. 'mini' => [
  32. 'length' => 3,
  33. 'width' => 60,
  34. 'height' => 32,
  35. ],
  36. 'inverse' => [
  37. 'length' => 5,
  38. 'width' => 120,
  39. 'height' => 36,
  40. 'quality' => 90,
  41. 'sensitive' => true,
  42. 'angle' => 12,
  43. 'sharpen' => 10,
  44. 'blur' => 2,
  45. 'invert' => true,
  46. 'contrast' => -5,
  47. ]
  48. ];

6、使用案例

需要在页面上显示出来

img

img

如果需要自定义配置(如长度、宽高等),可以修改配置文件config/captcha.php文件。

在表单视图模板代码:加上一行:

  1. <p>验证码:<input type="text" name="captcha"><img src="{{captcha_src()}}" alt=""></p>

captcha_src() 参数可选,默认使用default配置项,可以传入对应的配置项数组键名称

  1. <p>验证码:<input type="text" name="captcha"><img src="{{captcha_src('inverse')}}" alt=""></p>

②验证码验证操作

img

注意:验证码有效性验证规则,手册里是没有的,如果使用mews验证码包的话,其验证码验证规则就是captcha

控制器中进行验证

验证规则:

  1. 'captcha'=>'required|captcha'

解决翻译的问题:

修改语言包文件:validation.php

img

在数组中添加captcha元素即可

img

当然我们也可以不使用表单自动验证这种方式,而是先接收异步提交过来的数据。

然后通过验证码校验方法进行验证,自定义返回JSON格式数据。

  1. $admin = Request::post();
  2. $captcha = $admin['captcha'];
  3. if(!captcha_check($captcha)){
  4. exit(json_encode(['code'=>1,'msg'=>'验证码不正确,请重新输入!']));
  5. }

显示效果展示:


更多相关文章

  1. 20.)PHPWeb开发框架~laravel中会话控制Session和Cookie的使用操作
  2. 21.)PHPWeb开发框架~laravel中缓存系统Cache的使用及配置操作
  3. 11.)PHPWeb开发框架~Laravel入门路由配置和使用规则介绍
  4. 12.)PHPWeb开发框架~Laravel入门控制器Controllers的使用介绍
  5. 14.)PHPWeb开发框架~Laravel操作数据库DB类CRUD增删改查的使用
  6. 17.)PHPWeb开发框架~Laravel中模型操作使用快速入门(AR模式)讲解
  7. 【常用验证码之字符串验证码滑动验证码图形验证码】
  8. PHP:【商城后台管理系统】admin超级管理员后台登录界面部署
  9. 选择器的使用和模块化组件思想

随机推荐

  1. Android Dev Intro - GLSurfaceView.Requ
  2. 获取android webkit 源码
  3. Android(Java):Android ListView checkbo
  4. 第六章:基本控件
  5. eclipse android椤圭洰杞琣ndroid studio
  6. Error inflating class android.support.
  7. Android 复制到剪贴板
  8. Android中findViewById返回为空null的快
  9. Android Studio打包cordova项目过程中遇
  10. eclipse创建android项目,无法正常预览布局