TODO:Laravel增加验证码

TODO:Laravel增加验证码
1
1. 先聊聊验证码是什么,有什么作用?
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
随着科技的不断进步,图片识别技术的不断提高,出现了机器识别验证码和第三方人为识别验证,普通的验证码已经起不到很全面的防护作用;所以验证码自身也在不多发展,出现了动画验证码,手机短信验证码,手机语音验证码,视频验证码,拼图验证码,问题验证码。
但是验证码给用户代码的体验是不够理想,更多人觉得验证码是多余的。但是为了减少恶意,批量的访问,验证码还是有它出现的理由。
2. Laravel验证码扩展,我使用一个第三方可扩展“mews/captcha”,使用简单,可配置多主题。
3. 配置方法,在composer.json中require加入
“mews/captcha”: “~2.0”
运行
composer update
即可安装成功
4. 配置captcha,在config/app.php的providers的key值增加
MewsCaptchaCaptchaServiceProvider::class,
Aliases的key值增加
‘Captcha’ => MewsCaptchaFacadesCaptcha::class,
回到项目控制台运行
$ php artisan vendor:publish
可生成config/captcha.php,可进行配置不同验证码主题,如长度,颜色,混淆度等
5. 在登陆页面login.blade.php增加显示验证码代码
2captcha_src()是返回URL,如果要返回HTML可以用captcha_img();只要在括号中填写不同主题名,即可显示不同验证码,如captcha_src(‘flat’),captcha_img(‘inverse’)。
6. 运用PHP的Trait的特性,重写登录验证。在登陆的LoginController.php重写登录、验证、验证码验证
37. 启动服务,访问登录页面,可以正常使用验证码了。
48. 到此Laravel的验证码功能添加成功。


wxgzh:ludong86

qrcode_for_gh_6bb1f39ae99c_258-1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
填充下面这个程序中所有出现// TODO: fill the code这个任务的地方#include <iostream> #include <cstring> #include "ourstring.h" #include "strlib.h" using namespace std; OurString::OurString(){ // TODO: fill the code } OurString::OurString(const char *str){ // TODO: fill the code } OurString::OurString(const OurString &dstr){ // TODO: fill the code } OurString::~OurString(){ // TODO: fill the code } string OurString::toString() const{ // TODO: fill the code } OurString OurString::subStr(unsigned int start, unsigned int n) const{ // TODO: fill the code } bool OurString::operator > (const OurString &dstr) const{ // TODO: fill the code } bool OurString::operator < (const OurString &dstr) const{ // TODO: fill the code } bool OurString::operator == (const OurString &dstr) const{ // TODO: fill the code } unsigned int OurString::length () const{ // TODO: fill the code } const OurString& OurString::operator = (const OurString &dstr){ // TODO: fill the code } const OurString& OurString::operator = (const char *str){ // TODO: fill the code } char& OurString::operator[](int index){ // TODO: fill the code } const OurString OurString::operator + (const OurString &dstr) const{ // TODO: fill the code } const OurString OurString::operator + (const char *str) const{ // TODO: fill the code } const OurString& OurString::operator += (const OurString &dstr){ // TODO: fill the code } const OurString& OurString::operator += (const char *str){ // TODO: fill the code } ostream & operator<<(ostream &os, const OurString &dstr){ // TODO: fill the code } istream & operator>>(istream &is, OurString &dstr){ // TODO: fill the code }
最新发布
05-29

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值