位置: 编程技术 - 正文

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

  • 增值税专用发票的税率是多少啊
  • 动产租赁适用税率
  • 企业增资后需要交什么税
  • 不动产租赁服务属于现代服务吗
  • 无票收入应该怎么做
  • 分公司企业所得税怎么缴纳
  • 支付买方佣金
  • 工程预付款有发票怎么做凭证
  • 股东货币出资比例
  • 汇算清缴前发票未到
  • 已认证已抵扣的发票对方要寄回吗
  • 医院晚上开不开
  • 不用发票可以报销吗
  • 6位开票代码是几位数
  • 营改增小规模纳税人增值税纳税实务实训
  • 关于抄税的详细介绍
  • 管理不善造成的损失怎么处理
  • 以实物投资的税种有哪些
  • 银行承兑汇票企业账户没钱
  • 制造费用计入期间费用吗
  • 贷款逾期账务处理流程
  • 材料的盘点包括
  • ie异常
  • 收到项目资本金可以记到实收资本吗
  • 事业单位非税收入怎么做账
  • 房屋出租预收租金房产税纳税义务发生时间
  • 公司送礼分录
  • 多系统设置
  • 建筑公司合作模式有哪几种
  • 如何用home
  • 工厂返费能拿到吗
  • 简易征收增值税一般纳税人怎么报税
  • kkfileview启动组件失败
  • 埃托沙国家公园发展观兽旅游的优势条件
  • mapbox wms
  • 买入返售金融资产和卖出回购金融资产
  • yolo 官网
  • yii2框架漏洞
  • 生产车间生产人员福利费
  • linux中suid
  • php访问sqlserver
  • bad block bitmap checksum
  • 存在现金折扣的会计核算
  • vue注册用户名和密码
  • ant design vue2.0
  • 印花税可以年底报一次
  • 税务系统重置密码
  • 业务招待费计入其他业务成本
  • 投资性房地产出售
  • 房地产会计开发工资高吗
  • 二手车需要交什么
  • 委托开发费用
  • 搞活动的现金红包怎么用
  • 固定资产融资租出对应入账科目
  • 预付工程款预算会计怎么做账
  • 《实施条例》第二十七条
  • 成本结转的方法实例
  • 消耗性生物资产属于非流动资产吗
  • 什么情况下需要打狂犬疫苗
  • sql语句百度百科
  • sql实用教程
  • 不固定参数的存储器
  • Win10 Mobile 10549 预览版新功能上手体验视频
  • 登录系统错误
  • 虚拟机ubuntu怎么用
  • Win10预览版拆弹
  • linux防火墙开启80端口视频
  • bat批处理执行cmd命令
  • 在img标签中的alt属性里添加内容可以告诉
  • python科学绘图
  • Host 'admin-PC' is not allowed to connect to this MySQL server
  • window.onerror()的用法与实例分析
  • unityugui
  • android 动态化方案
  • 基于javascript的毕业设计选题
  • js setimmediate
  • 土地使用税申报流程图
  • 小规模纳税人改成一般纳税人怎么改
  • 管道运输企业的核心指标是
  • 山西增值税优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设