验证码不是纯字符,而是一张带有字符的图片。
定义:CAPTCHA:Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)
1.为什么要有验证码?
防止恶意攻击,指有不法用户通过恶意请求(PHP能做到),不断的向一台服务器发送请求,导致正常的用户不能得到资源或者速度很慢。
2.验证码为什么是图片?
人类能够很清晰的从图片中读取字符内容,而计算机目前还无法完全识别图片里面的内容。
PHP如何实现验证码?
1.PHP要能够制作和操作图片
PHP不能操作图片,需要借助外部扩展:GD扩展
2.PHP能够将字符写入到图片上
PHP制作图片
1.加载GD扩展
2.引入扩展文件,extension_dir
3.重启Apache
4.验证GD库是否加载成功phpinfo
使用GD库制作图片
imagecreatetruecolor():创建一张真彩图片,得到一个图片资源
imagewf():将一个图片资源保存或者显示成wf图片
imagedestroy():销毁一个图片资源
GD制作图片流程
创建图片的代码