PHP实现验证码功能

什么是验证码?

借用百度的解释:验证码这个词最早是在2002年由卡内基梅隆大学的路易斯·冯·安、Manuel Blum Nicholas J.Hopper以及IBM的John Langford所提出。卡内基梅隆大学曾试图申请此词使其成为注册商标, 但该申请于2008年4月21日被拒绝。一种常用的CAPTCHA测试是让用户输入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被光学字符识OCR, Optical Character Recognition)之类的电脑程序自动辨识出图片上的文数字而失去效果。由于这个测试是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,人们有时称CAPTCHA是一种反图灵测试

常见的验证码哪些?

图像类型、语音类型、视频类型、短信类型等。下面分享几种实际案例中的图片示例。

PHP实现验证码功能

PHP实现验证码功能

PHP实现验证码功能

PHP实现验证码功能

PHP实现验证码功能

使用验证码的好处在哪里?

要说到使用验证码的好处,这肯定是很多的,总结以下几点。

  1. 防止恶意的**密码。如一些黑客为了获取到用户信息,通过不同的手段向服务器发送数据,验证猜测用户信息的准确性。

  2. 防止恶意的刷票,论坛灌水。这种在论坛中长期存在灌水的现象,比如贴吧,不断发送帖子。现在百度贴吧已经针对用户发帖的时间做了一个时间的限制,当一定时间内发帖过多是无法继续发帖的。

  3. 防止恶意的请求。如用户提交一个表单信息,通过不断向后台请求数据信息造成服务器资源的浪费,以及恶意的攻击。

  4. 趣味性。这一点属于个人观点,当我们提交表单的时候,如遇到一些有趣的验证码方式,能够增强用户对网站的喜爱程度。

  5. 获取用户信息。这一点在现目前的站点中是屡见不鲜的事情了。如我们注册一个站点的账号,需要通过手机验证码才可以注册成功。网站在拿到用户的电话号码之后会给手机号主发送一些营销信息。

环境配置

只需要本地安装了PHP的GD扩展库即可使用。如何查看呢,创建一个PHP文件在该文件中写入<?php phpinfo();?>,访问该文件,如果查看到了GD库已经安装了,则可以使用。没有的,自行安装,百度很多教程。

PHP实现验证码功能

相关函数手册参考PHP官方链接 http://php.net/manual/zh/ref.image.php

具体代码实现

参考链接:http://www.qqdeveloper.com/a/54.html