位置: 编程技术 - 正文

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

  • 商贸企业辅导期是什么
  • 金蝶软件中怎么登记应该税费
  • 利润表季报的本期金额是本年累计吗
  • 上年数为负数,今年数为正数怎么算增减比率
  • 车票抵扣怎么做账
  • 计提坏账准备需要纳税调增吗
  • 用友工资系统参数设置
  • 支付结算有哪些工具
  • 年底暂估成本有风险吗
  • 应收帐款从工资里扣税吗
  • 对公账户打钱给私人账户,谁交税呢
  • 捐赠个人支出需要交纳个税吗?
  • 3%增值税率包括哪些
  • 小规模纳税人季报需要报什么
  • 子公司与总公司的关系说明书
  • 资产负债表中其他流动资产怎么计算
  • 外资企业投资国内企业程序
  • 收取客户税点怎么记账
  • 无票收入已报税,后来开票账务处理
  • 机器设备计提折旧年限是多少
  • 小规模纳税人亏损要交税吗
  • 合并报表实操视频
  • 个税汇算清缴申报错误怎么办
  • 苹果电脑初始化设置
  • 刚注册的有限公司可以马上注销吗
  • 退还押金的账务处理流程
  • 如何设置bios开关机
  • mstore.exe - mstore是什么进程 有什么用
  • cpqa1000.exe是安全进程吗 cpqa1000进程有什么作用
  • element ui+vue
  • 大雾山国家公园总部加特林堡
  • php缓存文件并自动清理
  • DeepLabV3+:Mobilenetv2的改进以及浅层特征和深层特征的融合
  • js文件格式化工具
  • 深度学习实战10-数学公式识别-将图片转换为Latex(img2Latex)
  • 基建 技改
  • 营改增之前的建筑业税率是多少
  • php示例代码
  • react_router
  • lvm部署的命令
  • 代扣车船税的会计处理
  • phpcms使用教程
  • 主营业务收入和营业外收入的区别
  • 增值税地方留存比例2023
  • 结转成本的会计科目
  • 垮年发票作废
  • mysql使用中遇到的困难和问题
  • 小规模印花税可以按次申报吗
  • 企业新成立刻章要求
  • access2000是什么
  • 在建工程和预付账款怎么转化
  • 工业企业中制造费用包括哪些内容
  • 疫情期间增值税减免政策截止时间
  • 进出口货物报关单填制规范
  • 房产评估增值是什么意思
  • 小规模发票冲红了退税怎么处理
  • 住院伙食补助费每天50
  • 购入房屋建筑物进项税额抵扣
  • 固定资产可以一次性入费用的标准
  • 行政单位负债类科目包括
  • 超出工资总额
  • 固定资产多少金额必须招标
  • mysql存储过程的语句块以什么开始以什么结束
  • Ubuntu 14.04系统怎么安装Nvidia 私有显卡驱动?
  • centos 删除恢复
  • 电脑操作系统win8
  • linux消息队列阻塞
  • mac装win8.1
  • win10mobile官网
  • Unity3D面试题整合
  • unity3d怎么全屏
  • Node.js中的事件循环是什么
  • js如何获取浏览器窗口大小
  • python抓取手机号软件
  • javascript原型
  • 深圳国家税务总局
  • 税务部门的扣款协议
  • 直接快递出口的货物
  • 国家规定的免税项目
  • 企业所得税年报职工薪酬纳税调整明细表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设