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里面来改源码,我们可以尽量做到只是传数据就能改变。
    这里我们就可以通过第一种方法来改变验证码。(这里有一个比较坑爹的地方)





     
     
     
  • 相关阅读:
    sqlilab-Less-41-53-writeup
    【转载】CPU架构、指令集与指令集体系结构(ISA)
    《鸟哥的Linux私房菜》读书笔记--第0章 计算机概论 硬件部分
    UVA-1602 Lattice Animals 搜索问题(打表+set)
    Python爬虫简单入门及小技巧
    HDU-1043 Eight八数码 搜索问题(bfs+hash 打表 IDA* 等)
    nginx重启命令
    php使用正则过滤js脚本代码实例
    ini_set("display_errors","On");和error_reporting(E_ALL);
    js中NAN、NULL、undefined的区别
  • 原文地址:https://www.cnblogs.com/xiongmaoblog/p/6422301.html
Copyright © 2011-2022 走看看