位置: 编程技术 - 正文

PHP验证码类ValidateCode解析(php验证码扭曲效果怎么做)

编辑:rootadmin

推荐整理分享PHP验证码类ValidateCode解析(php验证码扭曲效果怎么做),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php识别验证码的库高级,php验证码代码怎么写,php验证码代码怎么写,php制作验证码登录页面,php验证码识别,php 验证码,php验证码代码怎么写,php 验证码,内容如对您有帮助,希望把文章链接给更多的朋友!

PHP解析验证码类

1.开始

在网上看到使用PHP写的ValidateCode生成验证码类,感觉不错,特拿来分析学习一下。

2.类图

3.验证码类部分代码

3.1 定义变量

$charset 是随机因子,这里是去掉了几个不容易区分的字符,如字母"i,l,o,q",数字"0,1"。有必要可以加入一些中文或其他字符或算式等。

$codeLen表示验证码长度,常见4位。

3.2构造函数,设置验证码字体,生成一个真彩色图像img

3.3从随机因子中随机抽取4个字符,作为$code验证码.

3.4生成验证码背景色.

其中mt_rand(, ),目的是随机取比较浅的颜色。

3.5在图像上生成文字.

在图像上生成验证码文字,主要考虑文字在图像上的位置和每一个文字颜色。

控制第n个文字的x轴位置 = (图像宽度 / 验证码长度) * (n-1) + 随机的偏移数; 其中n = {d1....n}

PHP验证码类ValidateCode解析(php验证码扭曲效果怎么做)

控制第n个文字的y轴位置 = 图像高度 / 2 + 随机的偏移数;

mt_rand(0, ) 随机取文字颜色,0-目的是取比较深的颜色。

mt_rand(-, ) 随机的文字旋转。

3.6在图像上生成线条和雪花

画线条的时候,取比较深的颜色值,而画雪花的时候取比较淡的颜色值,目的是尽可能的不影响人眼识别验证码,又能干扰自动识别验证码机制。

3.7对外生成验证码图像,供外部调用。

3.8完整代码:

4.测试

测试代码:

生成验证码:

5.应用

上面onclick代码是点击验证码图片,能自动刷新验证码。

code.php:

有关应用的完整代码可以从 的CMS1.0 文件里下载。

6.小结

在独立测试过程,没发现什么问题;但应用到项目的时候,刚开始发现无法生成验证码图片,网上找了一下,有的说是在outPut()函数中,

在header('Content-Type: image/png'); 这行代码前面增加了一行ob_clean()代码,可以解决验证码这块问题。虽然此方法简单,但这可能会引起其他缓冲数据问题,因为db_clean()功能就是丢弃输出缓冲区中的内容。

标签: php验证码扭曲效果怎么做

本文链接地址:https://www.jiuchutong.com/biancheng/296225.html 转载请保留说明!

上一篇:PHP缩略图生成和图片水印制作(php缩进)

下一篇:Yii框架弹出窗口组件CJuiDialog用法分析(提示框架)

  • 个人所得税中应纳税所得额高好还是低好
  • 材料费发票税点
  • 商贸公司成本大吗
  • 外购商品捐赠进哪个科目
  • 网上增值税申报表怎么填
  • 委托加工直接对外销售的消费税
  • 净利润为什么要减折旧
  • 劳务公司差额计税收到的代发工资怎么开票
  • 小企业会计准则和一般企业会计准则的区别
  • 购买车辆的保险怎么入账
  • 一般公共预算支出是什么意思
  • 包工包料挣钱吗
  • 企业拆迁安置房能买吗
  • 房屋租赁合同印花税租赁双方各自要交多少
  • 公司出差开自己的车怎么计算损耗
  • 分票报关合票出提单怎么清关
  • 公司成本票不够交税多少
  • 企业购买救生棒合法吗
  • 营改增后哪些费用可以抵扣
  • 三方协议是先签先干活
  • 亏损企业所得税汇算清缴怎么做
  • 未承兑的商业汇票什么意思
  • php怎么做网页
  • window10系统有几种
  • 微软window
  • 转出未交增值税会计科目
  • 电脑桌面调出键盘
  • synaudsrv.exe是什么
  • 矿业财务好做吗
  • windows安装配置
  • php ajax json
  • 用户登录php
  • 包装物逾期是什么意思
  • vue做项目的流程
  • 视觉机械臂操作视频
  • vue国际化解决方案
  • python的图
  • 现金流量表现金等价物有哪些
  • mongodb从入门到商业实战
  • 一般纳税人和小规模纳税人怎么界定
  • SQL Server 2016 CTP2.2安装配置方法图文教程
  • sql server 2005数据迁移
  • 股东投资是否有资金实际收支活动?
  • 从厂家直接拿货需要什么条件
  • 发放福利视同销售进项税要转出吗?
  • 以前年度损益调整怎么结转
  • 计提投资性房地产折旧会计科目
  • 应收账款平账怎么处理
  • 社会团体收到财政拨款
  • 销售开票怎么做会计分录
  • 个人账户发工资扣税吗
  • 公司股东借款转私人账户
  • 公司账户可以转账到信用卡吗
  • mysql中自定义函数属于那个
  • windows server 2008文件共享服务器
  • win10自带的音乐播放器groove如何设置
  • win10系统遇到错误
  • win10系统mmc不能打开文件
  • centos挂载lvm硬盘
  • shell32.exe - shell32是什么进程 有什么用
  • win1020h2正式版
  • ISBMgr.exe - ISBMgr是什么进程 有什么作用
  • win10自带的杀软叫什么
  • linux扩大文件系统
  • 电脑win7不能用怎么办
  • win10安装grads
  • Linux中mysqldump命令实例详解
  • python多进程并发http请求
  • unity3d怎么做游戏
  • c opengl
  • Linux修改tomcat默认端口号8080
  • real interval
  • ssh自动输入密码登录
  • javascriptz
  • jquery常用选择器种类
  • python自带的http模块详解
  • android设计模式书籍
  • java script入门
  • android studio操作指南
  • 国家电子税务局江西省电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设