位置: 编程技术 - 正文

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用法分析(提示框架)

  • 购买方收取的违约金怎么入账
  • 所得税汇算清缴表在哪里打印
  • 其他应收款在现金流量表怎么填
  • 购销合同签定有法律效力吗
  • 月末进项税额转出科目需要结转吗
  • 净资本和净资产区别
  • 境外设计费涉及税收
  • 赔付伤残费用还有误工费用么
  • 汇总缴纳增值税的三级公司怎么汇总备案
  • 用于购买固定资产的账户
  • 购买的员工福利需要缴纳印花税
  • 房产公司增值税和土地增值税
  • 增值税税控系统技术维护费怎么抵扣
  • 油票入什么管理费用科目
  • 承兑汇票漏章证明怎么写?
  • 房地产企业预收房款开票
  • 已付款收货未收到发票会计分录
  • 免税行业企业
  • 季报的利润表是填本期金额还是本年
  • 开发票征收品目怎么填
  • 补交前几年的进项发票
  • 旅行社小规模差额征税增值税申报表怎么填
  • 签证费会计分录
  • 发票丢失如何处理
  • 总公司以固定资产出资入股,固定资产是不是新公司的
  • thinkphp5开发教程
  • php语言之mysql操作
  • php字符串函数有哪些
  • 资产减值损失在贷方表示什么意思
  • php实验二
  • 补缴税款怎么补
  • 租车接送员工上班怎么样
  • 怎么安装vue2.0
  • 继承 土地
  • 投资收益结转到哪个科目
  • 融资租赁的固定资产所有权归谁
  • Python图像识别实战(四):搭建卷积神经网络进行图像二分类(附源码和实现效果)
  • python 远程控制
  • 会计在账本上怎么记账
  • 金蝶软件利润表公式怎么设置
  • python中htmlparser解析html
  • 为公司垫付费用多久报销
  • 小规模公司注销时账务要如何处理
  • 归属净利润和扣非净利润看哪一个
  • 数据库参数错误
  • 成本核算的意义与作用
  • 关于小规模纳税人的说法正确的是
  • 无发票的费用怎么处理
  • 支付中标服务费借款情况说明怎么写
  • 建筑企业工程项目物资管理驼中华
  • 企业建账目的
  • windows8.
  • 使用sql server
  • windows10取消fn功能键
  • win8怎么自动修复
  • mac移动硬盘怎么改名
  • 如何关闭safari
  • solaris syslog
  • 进程死锁原因
  • win7怎么禁止系统自动更新
  • win10预览版21277
  • mac怎么连续播放视频
  • realmon.exe - realmon是什么进程 有什么用
  • linux单个文件夹文件数量
  • window10如何解除密码
  • cocos2dx怎么打开
  • android开发环境的搭建步骤
  • javascript常用类型
  • shell的简单实现
  • 简单的jquery插件实例
  • unity3d摄像机视角
  • JavaScript中的数据类型分为两大类
  • viewpager2 bug
  • android基础入门教程
  • 纳税人对税务机关做出的征税行为不服的,必须
  • 税控盘时钟异常怎么办
  • 辽宁国家税务局公务员职位2023
  • 发票为什么要验旧操作
  • 广东电子税务局官网登录入口手机版
  • 税务征收社保费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设