PHP实现验证码(数字验证码,数字字母混合验证码)
创建PHP环境,检查GD库
<?php
phpinfo();
?>
一、数字验证码
1.创建底图,实现四个随机数字在图上输出
2.将数字的颜色设为随机
因为0-120颜色较深,在浅色底图上好识别
3.增加点线干扰元素
方法 :imagesrtpixel
方法 :imageline
注意两者的参数是有些许区别的
二、数字字母混合验证码
1.
其余地方不变
三、通过session保存验证码信息
方法:bool session_start(void)
注意:session_start() 必须处于脚本最顶端;多服务情况需要考虑集中管理session信息。
(这里多服务器情况是指:当用户的验证码请求落在多台服务器之一上,我们的session会保存数据在此台服务器上,但是当做验证请求的时候,会落到另外一个服务器上,但这台服务器是没有我们保存的数据的,那么我们的验证码就会校验失败。所以我们需要考虑集中式管理,需要用到memcache,这个知识点先放在这。)
四、创建表单将验证码提交校验
先创建一个提交表单
注意:首先代码要打的完全正确结果才能够不出错,个别字母错误都能导致结果无法显示。
此外大小写处理,全转为小写