博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
Linux rpm 命令参数使用详解[介绍和应用]
查看>>
tr的使用详解
查看>>
CentOS 6.4下PXE+Kickstart无人值守安装操作系统
查看>>
2.5 alias命令
查看>>
arp
查看>>
小博浅谈MVC
查看>>
前端技术学习之选择器(四)
查看>>
Ubuntu与windows的远程控制/远程桌面
查看>>
2016年4月4日中项作业
查看>>
ARP欺骗
查看>>
Oracle专题12之游标
查看>>
两句话笔记--架构学习之一:并发基础课程(2)
查看>>
使用andbug的monitor命令
查看>>
CentOS/RedHat上安装man手册
查看>>
我的友情链接
查看>>
log4j配置
查看>>
去掉Intel集成显卡的桌面右键菜单
查看>>
我的友情链接
查看>>
python pip源配置
查看>>
clamav杀毒软件部署笔记
查看>>