博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php课程 8-30 实现验证码验证的难点是什么
阅读量:6692 次
发布时间:2019-06-25

本文共 1361 字,大约阅读时间需要 4 分钟。

php课程 8-30 实现验证码验证的难点是什么

一、总结

一句话总结:session技术实现验证码传递。

 

1、生成验证码的那个网页(php文件)中的验证码怎么搁到别的网页中去?

直接在img的src中调用这个php的文件名即可

因为这个php文件或者说网页文件本身就是一个图片(我们在html的head头里面声明了文件类型为图片的),
所以直接用图片的方式引入即可,而不是引入文件的方式

24         

验证码图片:

25

26 27

 

 

2、怎么把验证码图片里面的验证码传递到后台,和用户输入的验证码做比较?

生成验证码图片那个php把验证码写到文件中,后台的文件要比较验证码的时候直接去文件中扣就行。

所以用的就是cookie和session,这里用的是session。

1 

 

3、session的本质是什么(session为什么可以跨文件传输变量)?

因为session是文本变量,也就是说session里面的变量都会在文件中放一份,取session的时候是取文件中取,所以session可以做到跨文件传输变量的值。

其它的变量在脚本结束的时候,变量就被释放了。

 

4、php原生的session使用有什么注意要点?

a、使用session必须开启session,用session_start()

b、session_start()开启session这句话之前不能有任何html输出(<?php?>之外都是html的天下)。

1 

 

5、如何点一下验证码图片动态刷新验证码图片?

onclick方法

24         

验证码图片:

25

26 27

 

6、为什么验证码图片刷新要加随机数作为参数?

如果没有这个随机数作为参数,浏览器发现两次请求的是同一个url,会优先从自己的缓存里面取出内容

24         

验证码图片:

25

26 27

 

 

 

二、完整的验证码实例

这里用的gd库的画字函数,所以要引入字体文件.ttf

index.php

1  2  3  4     
5 用户注册页面 6 14 15 16

用户注册:

17
18

用户名:

19

20 21

密码:

22

23 24

验证码图片:

25

26 27

28 29

输入验证码:

30

31 32

33 34

35
36 37

 

reg.php

1 

 

 

verigy.php

1 

 

 

 

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/9288977.html

你可能感兴趣的文章
Spring MVC学习摘要
查看>>
How to use JDBC-Authentication of Spring Boot/Spring Security with Flyway
查看>>
Hadoop MapReduce编程 API入门系列之Crime数据分析(二十五)(未完)
查看>>
大漠插件使用
查看>>
百度echarts
查看>>
5 HTML&JS等前端知识系列之jquery基础
查看>>
jsp里的逻辑语句c:if和c:choose
查看>>
Spectral Graph Theory的一些定理
查看>>
css !import
查看>>
Unity3D 4.x编辑器操作技巧
查看>>
人机对战初体验—四子棋游戏
查看>>
Understanding the difficulty of training deep feedforward neural networks
查看>>
流媒体传输协议详解之---RTSP认证
查看>>
19:肿瘤检测
查看>>
iptables进行DNAT(目标地址转换)
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->用户管理模块新增“重置用户密码”功能...
查看>>
域名介绍
查看>>
系统封装 ES3使用方法
查看>>
SVG.js 文本绘制整理
查看>>
哈佛结构 VS 冯*诺依曼结构
查看>>