位置: 编程技术 - 正文

PHP生成各种常见验证码和Ajax验证过程(php 生成opcode)

编辑:rootadmin

推荐整理分享PHP生成各种常见验证码和Ajax验证过程(php 生成opcode),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php生成各种常见数据,php生成各种常见文件,php生成各种常见字符串,php生成各种常见数据,php生成各种常见数据,php生成各种常见文件,php生成各种常见字符串,php生成各种常见字符串,内容如对您有帮助,希望把文章链接给更多的朋友!

验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。本文将通过实例讲解使用PHP生成各种常见的验证码包括数字验证码、数字+字母验证码、中文验证码、算术验证码等等以及其Ajax验证过程。

PHP生成验证码图片

PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。

PHP生成验证码的大致流程有:

1.产生一张png的图片;

2.为图片设置背景色;

3.设置字体颜色和样式;

4.产生4位数的随机的验证码;

5.把产生的每个字符调整旋转角度和位置画到png图片上;

6.加入噪点和干扰线防止注册机器分析原图片来恶意破解验证码;

PHP生成各种常见验证码和Ajax验证过程(php 生成opcode)

7.输出图片;

8.释放图片所占内存。

示例:

代码中,自定义函数getCode()诠释了验证码的生成过程。运用PHP GD库自带的图像处理函数,能轻松生成各种想要的图片效果。

imagecreate() :创建一个新图像imagecolorallocate() :为图像分配颜色imagefill() :填充图像imagerectangle() :画一个矩形(边框)imagesetstyle() :设置画线风格imageline() :画一条线段imagesetpixel() :画点像素imagepng() :以PNG格式将图像输出到浏览器或文件imagedestroy() :释放图片所占内存将上述代码保存为code_num.php,以便调用。

Ajax刷新和验证

验证码生成后,我们要在实际的项目中应用,通常我们使用ajax可以实现点击验证码时刷新生成新的验证码(有时生成的验证码肉眼很难识别),即“看 不清换一张”。填写验证码后,还需要验证所填验证码是否正确,验证的过程是要后台程序来完成,但是我们也可以通过ajax来实现无刷新验证。

我们建立一个前端页面index.html,载入jquery,同时在body中加入验证码表单元素:

html代码中,<img src="code_num.php"即调用了生成的验证码,当点击验证码时,刷新生成新的验证码:

刷新验证码,其实就是重新请求了验证码生成程序,这里要注意的是调用code_num.php时要带上随机参数防止缓存。接下来填写好验证码之后,点“提交”按钮,通过$.post(),前端向后台chk_code.php发送ajax请求。

后台chk_code.php验证:

后台根据提交的验证码与保存在session中的验证码比对,完成验证。

对于其他几种验证的生成和使用,其原理一样,开发者可以根据需要,产生多种样式的随机验证码,本文演示demo中提供了数字验证码、数字+字母验证码、中文验证码、仿google验证码,算术验证码等。限于篇幅,其他几种验证码的生成代码略过,敬请谅解。

PHP 设计模式系列之 specification规格模式 1、模式定义规格模式是组合模式的一种扩展,在框架性开发中使用较多(项目级开发很少使用),这里做一个简单的介绍。规格模式(Specification)可以

详解YII关联查询 一、多表关联的配置在我们使用AR执行关联查询之前,我们需要让AR知道一个AR类是怎样关联到另一个的。两个AR类之间的关系直接通过AR类所代表的数据

WordPress后台中实现图片上传功能的实例讲解 图片上传文件准备:新建php文件,我用默认主题TwentyTen来测试,首先在这个主题的文件夹下新建一个文件-myfunctions.php然后打开functions.php文件在最底部添

标签: php 生成opcode

本文链接地址:https://www.jiuchutong.com/biancheng/288172.html 转载请保留说明!

上一篇:thinkPHP查询方式小结(thinkphp d)

下一篇:PHP 设计模式系列之 specification规格模式(php常见设计模式和用途)

  • 财务状况说明表财务报表有什么区别
  • 自行申报需补缴税款时征收滞纳金吗
  • 开农贸市场挣钱吗
  • 公账转法人私账的注意事项
  • 不知道进价怎么求利润
  • 小规模纳税人注册资金最高多少
  • 发票商品类别有哪几种
  • 企业所有职工都要交税吗
  • 验签失败的发票追不回来怎么办
  • 应缴纳企业所得税税额怎么算
  • 公司结业清算后多久注销
  • 以前没有计提增值税吗
  • 租赁汽车油费可以抵扣吗
  • 借调员工的工资怎么入账
  • 怎么用手撕胶带图解
  • 一般纳税人的增值税应纳税额等于
  • 工程备用金金额怎么算
  • 发票申请需要多久
  • 公司替员工承担个税分录不再收回
  • 节能减排奖励资金追回
  • 小规模纳税人季报是哪几个月
  • 以前年度损益调整编码
  • 建筑施工企业跨区域如何缴税
  • 税控设备 抵减
  • 五险一金的记账凭证怎么填写
  • 办公家具会计分录怎么做
  • 王者荣耀中太乙真人的技能有哪些?
  • 网吧登录qq安全吗
  • sixtypopsix.exe - sixtypopsix是什么进程 有什么用
  • 手相算命图解大全女
  • 水养绿萝怎么养护长得才茂盛
  • fatal error: opencv/cv.h: 没有那个文件或目录 错误;fatal error: opencv2/contrib/contrib.hpp: 没有那个文件或目录,opencv多版本
  • 哪种审计证据更可靠
  • 预付账款的会计编码是多少?
  • maven视频教程
  • 应收账款如何做会计分录
  • php实现图片上传的方法
  • win10系统安装配置
  • 机器学习——图像分类
  • win11显卡驱动不兼容
  • 前端实战面试题
  • thinkphp钩子场景
  • 小企业会计准则没有以前年度损益调整科目
  • 发票金额与实际不符
  • sql2014附加数据库失败
  • 哪些合同不用计提印花税
  • mysql服务器怎么启动
  • 劳务税能退税吗
  • sql server禁用
  • 先前收取的包装费用
  • 长期股权投资中同一控制和非同一控制的区别
  • 个体工商户公帐转法人私人账户
  • 技术转让费如何收取合理
  • 资产负债表其他应收款计算公式
  • 购入研发设备可以全额抵扣吗
  • 主营业务成本如何设置明细
  • 收到现金怎么做凭证
  • 代扣职工个人所得税的账务处理
  • 保险工资单怎么开
  • 冲销应付账款暂估应付账款的分录怎么做
  • mysql 5.6.14 win32 解压缩版(免安装)安装配置教程
  • linux 切文件
  • windows7开始菜单不见了
  • win8.1怎么关机快捷键
  • win7怎么看磁盘
  • perl语句
  • perl date
  • jquery焦点
  • shell脚本怎么导出
  • 监控网站是否可以删除
  • python urllib urlopen
  • 如何用jquery
  • jquery插件开发方法
  • 投诉10080 48小时都没有回复
  • 所属税务局怎么填写
  • 河南政务服务网官网
  • 劳动仲裁受理通知
  • 小微企业减半征收房产税
  • 江苏房产税如何计算公式
  • 契税计算器在线计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设