位置: 编程技术 - 正文

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

  • 缴纳增值税做账
  • 预付款发票能入账吗
  • 小规模纳税人征税率为多少
  • 财务报表是什么意思
  • 其他收益科目在哪个科目前面填
  • 年终奖1月发放能算上一年吗
  • 发票同步功能在哪里
  • abc类企业是什么意思
  • 银行借款的补偿金是什么
  • 买断式贴现是什么业务
  • 增值税税金不足1元未缴纳账务处理
  • 周转材料摊销借贷方向
  • 收到政府补贴现金流量表怎么填
  • 新建厂房房产证办理流程
  • 季度报税是哪个税种
  • 发票入账后查出金额错误
  • 营改增后企业所得税
  • 购买户外用品的app
  • 完税凭证是什么
  • 轮胎计入什么会计科目
  • 内账一定要权责发生制吗
  • 已预缴税款金额可以不申请退税吗
  • 跨期做账如何处理当事人
  • 高新技术企业的研发费用比例
  • window10最新20h2
  • 筹建期间业务招待汇算怎么填
  • ReadTimeoutError: HTTPSConnectionPool(host=‘cdn-lfs.huggingface.co‘, port=443)
  • 操作系统的类型和比较
  • 长期借款利息的会计科目
  • zendstudio怎么创建php项目
  • 汇总开具发票
  • 劳务公司已开票,可款项未收到,税票多久有效
  • php7多线程支持如何
  • ThinkPHP中Common/common.php文件常用函数功能分析
  • php日期计算器
  • 存货需要计算填列吗
  • 编写jsp程序,实现简易计算机
  • 财务费用汇兑损失是什么
  • 织梦系统如何更换网站内容
  • 资产处置损益明细表货币资金怎么填
  • 金税盘登录密码和口令从哪查
  • 长期待摊费用是非流动资产吗
  • 小规模纳税人免增值税的政策
  • 背书的行为
  • 以前年度损益调整属于哪类科目
  • 计划成本法存货会计分录
  • 出差餐补算在工资里吗
  • 融资租赁后期收入怎么算
  • 电子设备折旧残值率
  • 按公允价值入账的有哪些
  • 财务报表分析的主体是
  • 清算后剩余财产股东拒收怎么办
  • 税局关于企业费用报销
  • 预缴增值税扣除额用填写吗
  • mysql的基本介绍
  • windows vista安装光盘进入dos
  • ubuntu中运行c程序
  • ubuntu zen3
  • win10 20h2 v2
  • centos8 redhat
  • win7系统纯净版和旗舰版
  • win8怎么设置桌面
  • win7如何变快
  • win7注册表文件位置
  • win8系统咋样
  • opengl基础知识
  • shell脚本实现自动化巡检报警发送邮箱
  • dos命令行怎么打开
  • arp欺骗防范方法
  • node解决跨域
  • unity dllimport
  • jquery使用教程
  • Android通知栏点击打开安装
  • python抓取整站链接
  • 如何办理清税证书
  • 企业所得税汇总纳税备案表
  • 山西一女子实名举报局长
  • 房产税纳税义务时间
  • 福利费是否计入成本费用
  • 网上税务局网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设