位置: 编程技术 - 正文

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

  • 应交所得税的计税基础
  • 税务局 强制
  • 代第三方收取的款项作为什么处理
  • 增值税少企业所得税多说明什么
  • 装修收入如何填报增值税表
  • 工资中事假扣款执行依据
  • 代人开增值税怎么收费?
  • 固定资产投资转化为gdp比例
  • 材料溢价分录
  • 转账显示未认证
  • 财务报告分析主要内容
  • 印章刻字怎么收费
  • 诉讼费走哪个会计科目
  • 代扣业务员佣金怎么做账
  • 公司拍摄费计入什么科目
  • 增值税扣完税款还能更改吗
  • 营业账簿印花税怎么算
  • 增值税附表一免税项目金额填不上
  • 对方公司破产债务怎么办
  • 残保金和工会经费
  • 管理费用劳务费现金流
  • 其他专项收入怎么做账
  • 欠发工资如何赔偿
  • 代持的股份
  • 厂房租赁记账凭证
  • 进项转出税务处理
  • Win11文件资源管理器将更新
  • 购入办公楼按多少折算
  • qtzgacer.exe - qtzgacer进程是什么文件 .作用是什么
  • 代金券与抵扣券的区别
  • PHP:Memcached::incrementByKey()的用法_Memcached类
  • 年度确认收入怎么算
  • 企业发生的间接费用应先在
  • 法人营业执照和非法人营业执照
  • 自产商品公司自用算增值税吗
  • wx-java
  • 销售材料账务处理
  • cp命令使用
  • php for break
  • input输入框限制最大字数
  • 增值税发票已经认证了,但是税票原票没给,会有什么后果
  • 子公司认定消费税需要披露信息
  • 会计科目设置怎么操作
  • 跨年的发票可以退税吗
  • mysql常用命令汇总
  • mongodb使用场景总结
  • 详解帝国cms图集大全
  • 垫付应收款怎么做会计分录
  • 发票临时增量好难
  • 为什么社保明细导不出来
  • 企业正常性停产什么意思
  • 借调是原单位发工资吗
  • SqlServer2012中First_Value函数简单分析
  • 小规模卖固定资产怎么开票
  • 开具发票后,如发生销售退回,通常有的两种处理方式是?
  • 企业收到退税款在年报怎么填
  • 公司不开票了也要做账报税吗
  • 支付职工一次性补助
  • 待摊费用和预付费用的区别
  • 购货方尚未偿付的货款属于什么会计科目
  • 开票系统的维护与保养
  • 收到融资租赁发票要交印花税吗
  • 深度解析天梁坐命
  • 便签windows
  • fedora soas
  • Linux磁盘分区的作用
  • windows 10激活不了
  • fpassist.exe是什么进程 有什么作用 fpassist进程查询
  • win7怎么设置网速限制
  • nipc什么意思
  • 在linux系统中
  • win10系统edge浏览器打不开解决办法
  • linux的web服务器
  • jquery插件开发方法
  • unity3d 使用Quaternion 类实现两个简单功能
  • 青海国家税务局总局官网
  • 怎么查行业代码是多少
  • 房地产开发商要交哪些税和费用
  • 土地增值税计税
  • 预测收入遵循什么方法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设