0

0

在thinkphp中使用phpcms的验证码

php中文网

php中文网

发布时间:2016-06-07 11:39:38

|

1365人浏览过

|

来源于php中文网

原创

thinkphp原装的验证码感觉不太好看,用phpcms的时候,看到他们的验证码挺不错的,拿过来用一下。
主要代码如下:
config.php中 return array(
    //'配置项'=>'配置值'
    /**
     * Verify常量设置
     */
        //'VERIFY_WIDTH'    =>    '130',
        //验证码的宽度
        'VERIFY_WIDTH'    =>    130,
        
        //验证码的高
        'VERIFY_HEIGHT'    =>    50,
        
        //设置随机生成因子
        'VERIFY_CHARSET'    =>    'abcdefghkmnprstuvwyzABCDEFGHKLMNPRSTUVWYZ23456789',
        
        //设置背景色
        'VERIFY_BACKGROUND'    =>    '#EDF7FF',
        
        //生成验证码字符数
        'VERIFY_CODE_LEN'    =>    4,
        
        //字体大小
        'VERIFY_FONT_SIZE'    =>    20,
        
);
?>
IndexAction.class.php方法中的代码如下 // 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index(){
        $this->display();
    }
    
    public function verify(){
        import('@.Class.Verify.Verify');
        $verify = new Verify();
        
        $code_len = C('VERIFY_CODE_LEN');
        $font_size = C('VERIFY_FONT_SIZE');
        $width = C('VERIFY_WIDTH');
        $height = C('VERIFY_HEIGHT');
        $font_size = C('VERIFY_FONT_SIZE');
        $font_size = C('VERIFY_FONT_SIZE');
        $font_size = C('VERIFY_FONT_SIZE');
        
        //echo $code_len;die;
        if (isset($code_len) && intval($code_len)) $verify->code_len = intval($code_len);
        if ($verify->code_len > 8 || $verify->code_len              $verify->code_len = 4;
        }
        if (isset($font_size) && intval($font_size)) $verify->font_size = intval($font_size);
        if (isset($width) && intval($width)) $verify->width = intval($width);
        if ($verify->width              $verify->width = 130;
        }
        
        if (isset($height) && intval($height)) $verify->height = intval($height);
        if ($verify->height              $verify->height = 50;
        }
        $max_width = $verify->code_len * 28;
        $max_height = $verify->font_size * 2;
        if($verify->width > $max_width) $verify->width = $max_width;
        if($verify->height > $max_height) $verify->height = $max_height;
        $verify->doimage();
        session('code',$verify->get_code());
        
    }
    
    public function check(){
        $verify = strtolower($_GET['verify']);
        $code = $_SESSION['code'];
        if ($verify == $code){
            $this->success('你太厉害了,竟然把验证码写对了!',U('Index/index'));
        }else{
            $this->error('你个大笨蛋,竟然连验证码都写不对,还能干啥!');
        }
    }
}
自从用了thinkphp高级版本出现php环境不支持后,一直在使用thinkphp 3.1.3,所以我的代码是基于这个版本的。如果在其他版本上有需求,请自行修改,全部代码会在附件中分享。

附件 在thinkphp中使用phpcms的验证码.zip ( 1.57 MB 下载:28 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.2万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号