位置: 编程技术 - 正文

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

  • 记账凭证背面怎么填写
  • 企业咨询费入什么科目
  • 特定业务预缴所得税不能填写
  • 认缴注册资本的风险
  • 从银行提取现金用途
  • 企业可以采用多品牌战略吗
  • 增值税减免备案改备查后续管理
  • 兼营行为税务处理例子
  • 子公司的财报和母公司的财报并表吗
  • 企业安全防护措施有哪些
  • 个人取得投资收益是否缴纳个税
  • 集体土地上的不动产能符合异议28条规定吗
  • 同一套房
  • 企业增值税不可以跨月交吗
  • 朋友借资质汇款到公司要收税吗?
  • 税务局领普通发票需要多少钱
  • 用友t3财务报表模块打不开
  • 居民企业之间以非货币资产进行投资
  • 母公司计提子公司投资收益
  • 增量留底税额怎么进行确定
  • 租赁押金的法律规定
  • 多给员工交了社保能退回吗
  • ipad常用语在哪里
  • 采用赊销方式销售货物的纳税义务发生时间
  • 如何冲回以前年度账户
  • 苹果电脑设置壁纸为什么重启就没了
  • 关闭自动更新应用程序
  • 电脑出现一堆英文无法开机
  • 商品房的维修金该怎么交
  • el-upload上传文件大小限制
  • 结转销售原材料会计分录
  • php编程中的_横线表示什么
  • 缴纳增值税的会计处理方法
  • 公司房产处置
  • 中途建账期初数据哪里来的
  • js点击li
  • 承兑汇票无法兑付
  • python编程100例
  • 背景渐变 css
  • php字符串处理函数有哪些
  • 上个月发票税率怎么查
  • 贷款利息发票可以随便开吗
  • php运行乱码怎么办
  • 培训费发票是否含税
  • 收到退回的企业所得税,资产负债表如何填
  • 个体户需要
  • 发票退票和废票的区别
  • 经营租入的设备属于什么会计要素
  • 中华人民共和国企业所得税年度纳税申报表
  • 购买无形资产的入账价值包括增值税吗
  • 稳岗返还资金最新账务处理
  • 应收分保未到期责任准备金是什么科目
  • 预算外的收入
  • 年度所得税费用
  • 被工商吊销营业执照怎么办
  • 结转费用时财务费用为负
  • 返利开红字发票怎么做账
  • 应收利息可以计提坏账准备吗
  • 如何合理的运用网络
  • 其他货币资金存出投资款借方增加还是减少
  • 本年利润年末有余额怎么回事
  • sql连接两个表接查询sql语句
  • mysql 5.7启动
  • centos怎么样
  • freebsd怎么安装软件
  • win10系统d盘变成e盘,进入winpe盘符正常
  • 如何封禁
  • 怎么在win7开始菜单添加文件夹
  • window8.1
  • Linux改变文件或目录的读写和执行权限的命令是
  • cocos2d-x教程
  • adt Failed to create the Java Virtual Machine.
  • [置顶]马粥街残酷史
  • 浏览器firefox
  • jquery动态设置元素的值
  • 深入浅出python
  • javascriptz
  • jquery查找指定元素
  • 什么车属于应征消费税的汽车
  • 北京市地税局第一稽查局郭洪鑫
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设