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





     
     
     
  • 相关阅读:
    现代软件工程 第一章 概论 第3题——韩婧
    现代软件工程 第一章 概论 第2题——韩婧
    小组成员邓琨、白文俊、张星星、韩婧
    UVa 10892 LCM的个数 (GCD和LCM 质因数分解)
    UVa 10780 幂和阶乘 求n!中某个因子的个数
    UVa 11859 除法游戏(Nim游戏,质因子)
    Codeforces 703C Chris and Road 二分、思考
    Codeforces 703D Mishka and Interesting sum 树状数组
    hdu 5795 A Simple Nim SG函数(多校)
    hdu 5793 A Boring Question 推公式(多校)
  • 原文地址:https://www.cnblogs.com/xiongmaoblog/p/6422301.html
Copyright © 2011-2022 走看看