zoukankan      html  css  js  c++  java
  • 关于thinkphp验证码的那些事

    首先,如果我们要使用thinkphp的验证码功能,有2种方法:

    1.去下载完整版的thinkphp框架

    2.通过composer安装对应的验证码类库,在命令行下面切换到你的应用根目录下面,执行:

    composer require topthink/think-captcha
    (具体参考composer安装手册)

    安装完我们可以就可以开心愉快的玩thinkphp;
    同样,首先这里我们也需要配置一下验证码的参数:
    'captcha'  => [
            // 验证码字符集合
            'codeSet'  => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', 
            // 验证码字体大小(px)
            'fontSize' => 25, 
            // 是否画混淆曲线
            'useCurve' => true, 
             // 验证码图片高度
            'imageH'   => 30,
            // 验证码图片宽度
            'imageW'   => 100, 
            // 验证码位数
            'length'   => 5, 
            // 验证成功后是否重置        
            'reset'    => true
    ],

    配置完成后,我们有2种方法可以选择,
    1.可以通过captcha_src()来控制验证码,
    <img src="{:captcha_src()}" alt="点击更换" />
    这样就可以通过直接传src地址来控制了
    if(!captcha_check($captcha)){
    判断失败后做什么
    }
    这里我们也可以研究一下源码
    function captcha_src($id = "")
    {
    return hinkUrl::build('/captcha' . ($id ? "/{$id}" : ''));
    }

    2.也可以通过captcha_img()来控制验证码,这里我们直接
    {:captcha_img()}
    这样就可以了,不过这样是通过return一段结构到前端,(不是太好)
    我们可以研究一下它的源码
    function captcha_img($id = "")
    {
    return '<img src="' . captcha_src($id) . '" alt="点击更换" />';
    }
    但是通常我们会有点击图片更换刷新验证码的要求,通过第二种方法就很简单,每次只要在return的结构中改变$id就可以满足我们的效果,
    但是这样我们有时候想要改变这些图片就不太好,因为还要返回到php里面来改源码,我们可以尽量做到只是传数据就能改变。
    这里我们就可以通过第一种方法来改变验证码。(这里有一个比较坑爹的地方)





     
     
     
  • 相关阅读:
    安装配置ssh免密码登录
    大数据学习之Linux环境搭建(导航)
    Linux下搭建sqli-labs环境
    SpringMVC freemarker 中 Could not resolve view with name 'XXX.ftl' in servlet with name 'SpringMVC'
    配置FreeMarker时IDEA提示cannot resolve property 'templateLoaderPath'
    MySQL在指定字段后添加一个新字段
    META-INF/MANIFEST.MF file not found in unnamed.war
    Java获取音频播放时长
    JS实现阿拉伯数字转韩文
    微信公众号开发-素材管理-调用接口返回结果一览表
  • 原文地址:https://www.cnblogs.com/xiongmaoblog/p/6422301.html
Copyright © 2011-2022 走看看