Laravel5.5 使用第三方Vendor添加注册验证码
Laravel5系列的验证码添加通用,使用第三方验证码即可完美实现。这里记录下具体步骤吧,以备不时之需。
第一步:使用composer 安装 验证码库
composer require mews/captcha
第二步:注册providers (config/app.php) ,在这个数组中的最后追加如下代码:
Mews\Captcha\CaptchaServiceProvider::class,
第三步:注册aliases (config/app.php),在这个数组中的最后追加如下代码:
'Captcha' => Mews\Captcha\Facades\Captcha::class,
第四步:生成配置文件,在Composer命令行中输入如下命令:
php artisan vendor:publish
进入config/captcha.php 文件,修改default 数组 可以对验证码进行样式、数量、大小上的修改。
'default' => [
'length' => 5,
'width' => 100,
'height' => 34,
'quality' => 90,
],
页面中使用:
<div class="row">
<div class="col-md-8">
<input type="text" class="form-control {{$errors->has('captcha')?'parsley-error':''}}" name="captcha" placeholder="captcha">
</div>
<div class="col-md-4">
<img src="{{captcha_src()}}" style="cursor: pointer" onclick="this.src='{{captcha_src()}}'+Math.random()">
</div>
@if($errors->has('captcha'))
<div class="col-md-12">
<p class="text-danger text-left"><strong>{{$errors->first('captcha')}}</strong></p>
</div>
@endif
</div>
第五步:验证码校验规则添加:(重写AuthController 登录验证方法,并自定义提示信息)
$this->validate($request, [
$this->loginUsername() => 'required',
'password' => 'required',
'captcha' => 'required|captcha',
],[
'captcha.required' => trans('validation.required'),
'captcha.captcha' => trans('validation.captcha'),
]);
截止到目前为止,验证码就实现了。不过这里还遗留一个小小的问题。就是验证码校验失败后,错误提示语言为英文。
这里介绍两种办法,第一种很简单,直接将上面红色代码替换为下面的即可!
'captcha.required' => trans('抱歉,验证码必填'),
'captcha.captcha' => trans('验证码不正确'),
第二种就麻烦一点了,不过这里推荐这种“不偷懒”的方法。
字体库的下载与切换:
首先需要下载字体库。下载完成后,将压缩包中 src/zh-CN 文件夹拷贝到项目目录的 resources/lang 文件夹下。
修改 config->app.php 文件,修改代码如下:
'locale' => 'zh-CN',
由于captcha在中文包中没有中文解释,所以需要手动添加中文解释,具体操作如下:
打开 resources/zh-CN/validation.php,在总数组中追加如下键值对:
'captcha' => ':attribute 不正确。',
在 attributes 数组中追加如下键值对:
'captcha' => '验证码',
好了,到此为止使用第三方扩展实现验证码就可以实现了。
Laravel5.5 使用第三方Vendor添加注册验证码的更多相关文章
- Django项目:CRM(客户关系管理系统)--49--40PerfectCRM实现全局账号注册+验证码+页面刷新保留信息
# gbacc_urls.py # ————————38PerfectCRM实现全局账号登录注销———————— from django.conf.urls import url from gbacc ...
- 【转】C#程序打包安装部署之添加注册表项
今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...
- flask中注册验证码和分页
注册验证码.核心思路,替换注册页面的img标签的src属性. 1.准备好文件夹:captcha2.导包 from utils.captcha.captcha import captcha3.验证码生成 ...
- 安全之路 —— C/C++实现利用添加注册表项实现文件自启动
简介 添加注册表项是实现文件自启动的经典方法之一,但因为操作注册表项是一个敏感操作,被报毒可能性较大,但即便如此,这个方法还是值得一学的,因为后期大部分编程都涉及到注册表操作. 最常使用到的注册表项有 ...
- 注册表的作用、bat文件中REG ADD命令添加注册表项以及bat
注册表的用途与设置 注册表是windows的核心,里面储存着大量的系统信息,说白了就是一个庞大的数据库.如果你不懂什么是数据库,那没关系,不影响你了解注册表,不过最好对数据库有所了解.注册表里面所有的 ...
- python 以及 pywin32添加注册表
python 添加注册表信息: import sys from winreg import * # tweak as necessary version = sys.version[:3] insta ...
- C#程序打包安装部署之添加注册表项(转)
今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...
- vs install 安装时自动添加注册表
思路:使用自定义 解决方案添加类库项目 添加安装程序类 随后右键查看代码 在构造函数添加事件 同时完成这个事件,在此事件中根据需要添加我们需要的内容,此处为添加注册表,并根据安装目录添加url pro ...
- laravel5实现微信第三方登录功能
背景 最近手头一个项目需要实现用户在网站的第三方登录(微信和微博),后端框架laravel5.4. 实现过程以微信网页版第三方登录,其他于此类似,在此不做重复. 准备工作 网站应用微信登录是基于OAu ...
随机推荐
- asdfadsf
bool is_r_value(int &&) { return true; } bool is_r_value(const int &) { return false; } ...
- Golang之接口(interface)
Golang最重要的接口,,,, package main import ( "fmt" ) //interface类型默认是指针 /* 接口的实现 Golang中的接口,不需要显 ...
- python获取参数
argparse是python的一个命令行参数模块,可以解析命令行参数,生成帮助. 示例: #!/usr/bin/python from argparse import ArgumentParser ...
- Chrome Command Line API 参考
- mfc的一点总结-----Edit Control操作
获取Edit Control(编辑框)的内容: CString key; GetDlgItem(IDC_EDIT1)->GetWindowText(key); 其中IDC_EDIT1是所要获取编 ...
- java并发编程实战:第十四章----构建自定义的同步工具
一.状态依赖性管理 对于单线程程序,某个条件为假,那么这个条件将永远无法成真 在并发程序中,基于状态的条件可能会由于其他线程的操作而改变 可阻塞的状态依赖操作的结构 acquire lock on o ...
- MSF漏洞攻击练习系统 – Metasploitable2
Metasploitable2 是Metasploit团队维护的一个集成了各种漏洞弱点的Linux主机(ubuntu)镜像,方便广大黑扩跟安全人员进行MSF漏洞测试跟学习,免去搭建各种测试环境.VMw ...
- [Postgres]postgresql.conf : Permission denied处理一法
使用yum安装完postgresql,没有使用默认的DATA地址,自己配置了DATA地址以后,使用root权限启动service service postgresql start ,报出了" ...
- SqlerMonitor-复制
在复制系统中因为一些配置上失误和人为的失误操作导致复制堵塞,Sqler Monitor 新增加了分析复制延迟邮件,配合复制错误监控邮件和延迟邮件,和复制元数据采集 可以在第一时间准确定位到问题,适合大 ...
- django 定制管理页面外观 模板文件不生效的解决方法
问题描述:大概过程跟下面描述的一样,简单来说就是照着例子学习的时候定制管理页面外观,按照文档要求拷贝了base_site.html文件到templates目录下,并且按照要求修改了settings.p ...