php实现登录验证码的方法

  介绍

这篇文章给大家分享的是有关php实现登录验证码的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

php实现登录验证码的方法:首先产生4到6位数的随机验证码,然后把产生的每个字符保存到会话或数据库,接着将验证码发送到用户的手机;最后将和输入的验证码进行对比验证即可。

<强> php实现简单的验证码功能机制

网站的安全性是开发者不可忽视的一个问题,目前使用最多的一种可以提高网站安全性的方法就是使用验证码功能机制,有的仅仅使用一个几位数字字母混乱的验证码,有的进行手机发送短信进行验证,有的使用邮箱发送邮件进行验证,但是这个验证码功能机制是如何实现的呢?下面就为大家详细解释验证码功能机制的实现思路以及简单的实现方法。

1,验证码功能机制实现思路

①常规的验证码实现:

,产生一张png的图片

b,为图片设置背景色

c,设置字体颜色和样式

d,产生4位数的随机的验证码

e,把产生的每个字符调整旋转角度和位置画到png图片上

f,加入噪点和干扰线防止注册机器分析原图片来恶意注册

g,输出图片

h,释放图片所占内存

我将验证码保存到会话或是数据库

j,将和输入的验证码进行对比

②短信(邮箱)验证码机制:

,产生4 - 6位数的随机的验证码

b,把产生的每个字符保存到会话或是数据库

c,将验证码发送到用户的手机(邮箱)

d,用户在规定时间内进行输入

e,将验证码从会话或是数据库中取出f

,将和输入的验证码进行对比验证

2,简单的实现验证码功能机制

①新建验证码。php写入以下代码

& lt; php ?/* *   *=======================================*由WeiBang技术。   *用户:魏志华   *日期:2016/10/12 0020   *时间:下午4:14   *力量:实现验证码功能   *=======================================*///开启会话   session_start ();//创建一个大小为100 * 30的验证码   形象=美元imagecreatetruecolor (100, 30);   (背景=imagecolorallocate美元形象,255年,255年,255年);   imagefill($形象,0,0,我们美元);      $ captch_code=& # 39; & # 39;;   ($ i=0;美元我& lt;4;$我+ +){   美元字形大?6;   (fontcolor=imagecolorallocate美元形象,兰德(0,120),兰德(0,120),兰特(0,120));   $ data=https://www.yisu.com/zixun/癮bcdefghijkmnpqrstuvwxy3456789”;   $ fontcontent=substr ($ data,兰德(0,strlen(元数据)- 1),1);   captch_code美元。=$ fontcontent;   $ x=(我* 100/4美元)+兰德(5、10);   $ y=兰德(5、10);   imagestring(形象,字形大小,美元$ x, y,美元fontcontent美元,美元fontcolor);   }//就生成的验证码保存到会话   $ _SESSION(“验证码”)=$ captch_code;//在图片上增加点干扰元素   ($ i=0;我<200美元;$我+ +){   (pointcolor=imagecolorallocate美元形象,兰德(200),兰德(200),兰德(200);   imagesetpixel($形象,兰德(99),兰德(29),pointcolor美元);   }//在图片上增加线干扰元素   ($ i=0;$ i <3;$我+ +){   (linecolor=imagecolorallocate美元形象,兰德(80、220),兰德(80、220),兰德(80、220));   imageline($形象,兰德(99),兰德(29),兰德(99),兰德(29),linecolor美元);   }//设置头   标题(“内容类型:图像/png”);   imagepng(形象);   imagedestroy(形象);      ?>

②新建形式。php写入以下代码

& lt; php ?/* *   *=======================================*由WeiBang技术。   *用户:魏志华   *日期:2016/10/12 0021   *时间:下午4:14   *力量:实现验证码功能   *=======================================*/如果收取($ _REQUEST[& # 39;验证码# 39;])){   session_start ();   如果函数(($ _REQUEST[& # 39;验证码# 39;])==$ _SESSION[& # 39;验证码# 39;)){   回声“输入正确!“;   其他}{   回声“输入错误!“;   }   退出();   }   比;      & lt; !DOCTYPE html>   & lt; html>   & lt; head>   & lt;元http-equiv=癱ontent-type"内容=皌ext/html; charset=utf-8"/比;   & lt; title>确认验证码& lt;/title>   & lt;/head>   & lt; body>   & lt;形式方法=皃ost"action=啊?form.php"比;   & lt; p>验证码图片:   & lt; img id=癱aptcha_img"边境=?”;src=啊?captcha.php ? r=& lt; ?php echo rand ();“?”;宽度=100高度=30比;   & lt; a href=癹avascript:无效(0)“;>感谢各位的阅读!关于php实现登录验证码的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

php实现登录验证码的方法