位置: 编程技术 - 正文

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

  • 报考中级会计师怎么报名
  • 怎么增加资产减少负债
  • 供热管道属于什么经营范围内
  • 企业如何提供准确的会计信息
  • 新公司季初资产总额和季末资产总额怎么填
  • 企业所得税汇总纳税分配比例
  • 年报财务报表在哪里申报
  • 非现金资产债务怎么算
  • 应交税费科目核算
  • 房地产收到客户房款如何做账
  • 外地施工企业税收征管办法
  • 发票冲红后原发票还有用吗?
  • 福利费不交个人所得税会怎么样
  • 个税中的其他所得税
  • 新版增值税开票软件怎么下载
  • 单位经济合同由谁来签
  • 对公提回款是什么意思
  • 无偿赠送不得抵扣吗?
  • 进项税额加计抵减如何申报
  • 建筑业可以开电费发票吗
  • 投资款需要缴纳增值税吗
  • windows10如何关闭安全中心防护
  • 无法启动个人热点iphone
  • 装win7ahci
  • php运用于哪些领域
  • 入账成本包括增值税税额吗
  • js时间格式转换时间戳
  • 未取得发票的工程预付款怎么入账
  • 在建工程可以计入资本性支出吗
  • 企业所得税税前扣除凭证管理办法
  • 跨市设立分公司
  • 抵债资产怎么入账
  • u-net优点
  • jquery制作轮播切换效果
  • php sha1加密 解密
  • 计算机视觉项目文档
  • nfs4挂载
  • 固定资产清理应交增值税怎么算
  • 计提工会经费的标准
  • 结转成本 凭证
  • 员工通行费合法报销
  • python的图
  • 银行承兑汇票贴现分录
  • phpcms v9搬家不同步怎么办
  • 购买商标入账
  • sql server添加语句
  • 个体工商户要做账报税吗
  • mysql 自动断开
  • 以前年度多计收入今年怎么调整
  • 购销合同印花税计税依据
  • 简易计税方法缴纳城建税和教育税
  • 收到外币收入如何入账
  • 发生了销售交易但没有在销售日记
  • 进项转出做账做什么会计
  • 利息收入的正确分录凭证怎么写
  • linux终端怎么运行
  • cmd命令怎么进入d盘文件夹
  • win7电脑怎么设置
  • 苹果电脑win10系统打不开
  • backupwx.exe
  • mac怎么连续播放视频
  • win10触屏操作
  • win7筛选键
  • 双win系统怎么删除一个
  • jquery.ui
  • linux awk命令使用实例
  • perl怎么用
  • 自动释放池原理,本质
  • jquery滚动条滚动到指定位置
  • bat实现的模仿黑客帝国里面的数码雨
  • android sdkmanager
  • unity3d效果图
  • 生鲜肉类免税
  • 四川省税务局发票
  • 破产清算处置资产增值税
  • 江西医保在线缴费
  • 三证合一怎么申报
  • 招投标文件未规定怎么办
  • 抄报税怎么弄
  • 政务公开有何意义
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设