• tp5.1 验证码的使用


    切记!!!!!!!!!!!!

    tp5.1使用的验证码版本是  2.*   ,看清楚,1.*的不行,3.*也不行

    我刚开始用的是1.*,

    首先报的是  captcha_src  方法不存在

    不知咋的了,然后又报   hinkcaptchaCaptchaController@index  然后又报 方法不存在,又报类不存在,又是控制器不存在。。。。

    反正一大堆的问题。。。。。。。。。吐槽一下,tp真的比不过laravel,差的太远。。。

    1、composer安装验证码

    composer require topthink/think-captcha 2.*

    2、配置访问路由

    路由:Route::get('captcha','@admin/login/captcha')->name('captcha');

    你可 能也见过  这样配置路由的  这样的路由返回的直接是个图片  也就是验证码  

    Route::get('captcha/[:id]', "\think\captcha\CaptchaController@index");//访问图片需要

    Route::get('captcha','@admin/login/captcha')->name('captcha');

    这是我接口返回的数据 域名+src即可访问到图片,这样前端就可以很方便的使用了

    {"src":"/captcha/92722035f816ac657112","uniqid":"92722035f816ac657112"}

    至此,关于tp5.1的验证码的使用就结束了,网上一大堆过时的配置,远古配置,都是复制粘贴的然后成为自己的帖子,毫无价值可言。

    3、常规的使用讲明白了,下面说说,做接口开发的时候的细节

    web,h5一般没事,但是若是作为app的接口,那么可能会出现session_id不一致的问题,即,前台的输入验证码的session_id是一个,后台验证时却是另一个session_id,为了避免这种情况,我们把session_id

    存到缓存中,下面说下具体的做法(也是接口开发的一种通用做法--------------大牛请忽视)

    3.1修改验证码的源码

    3.2具体使用

    具体的使用是在登录校验时用的它

    //根据验证码标识,从缓存中取出session_id 并重新设置session_id
            session_id(cache('session_id_' . $params['uniqid']));
            // 进行验证码校验 使用手动校验
            if (!captcha_check($params['code'], $params['uniqid'])) {
                // 验证码错误
                $this->fail('验证码错误');
            }
  • 相关阅读:
    springboot Quartz 定时任务工具类
    java 发邮件 代码
    spring boot 整合 shiro 权限框架
    java 读取xml
    flowable 报错 Waiting for changelog lock....
    微服务 springcloud Alibaba 阿里组件 项目源码
    Java 读取汉字拼音
    syslog how to
    c++ 字符串总结
    aptget 总结
  • 原文地址:https://www.cnblogs.com/zqblog1314/p/13793192.html
Copyright © 2020-2023  润新知