源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php制作动态随机验证码

  • 时间:2022-09-28 07:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php制作动态随机验证码
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。       这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。       Php制作动态验证码是基于php的图像处理,下面首先介绍一下php的图像处理。 [b]一.php图像处理简介[/b]       在PHP5中,动态图象的处理要比以前容易得多。PHP5在php.ini文件中包含了GD扩展包,只需去掉GD扩展包的相应注释就可以正常使用了。PHP5包含的GD库正是升级的GD2库,其中包含支持真彩图像处理的一些有用的JPG功能。       一般生成的图形,通过PHP的文档格式存放,但可以通过HTML的图片插入方式SRC来直接获取动态图形。比如,验证码、水印、微缩图等。       创建图像的一般流程: 1).设定标头,告诉浏览器你要生成的MIME类型。 2).创建一个图像区域,以后的操作都将基于此图像区域。 3).在空白图像区域绘制填充背景。 4).在背景上绘制图形轮廓输入文本。 5).输出最终图形。 6).清除所有资源。 7).其他页面调用图像。 第一步,设置文件MIME类型,输出类型 将输出类型改成图像流
[url=https://github.com/cnblogs-/php-captcha]https://github.com/cnblogs-/php-captcha[/url] [b]1. 创建带验证码的图片,并模糊背景[/b] 随机码采用16进制;模糊背景即在图片背景加上线条、雪花等。 1)创建随机码   
[url=style/basic.css] </head> <body>     <div id="testcode">         <form method="post" name="verification" action="verification-code.php?action=verification">             <dl>                 <dd>验证码:<input type="text" name="code" class="code" /><img src="codeimg.php" id="codeimg"  /></dd>                 <dd><input type="submit" class="submit" value="验证" /></dd>             </dl>         </form>     </div> </body> </html>
显示如下: [img]http://files.jb51.net/file_images/article/201502/2015021214563810.png[/img] 2)创建产生验证码图片页面 创建codeimg.php为verification-code.php html代码里的img提供验证码图片 首先必须在codeimg.php页面开启session; 其次,将我们封装好的global.func.php全局函数库引入进来; 最后,运行_code(); [img]http://files.jb51.net/file_images/article/201502/2015021214563811.png[/img] 3)创建session检验机制 首先必须在verification-code.php页面也开启session; 其次,设计提交验证码的方式,本文以get方式提交,当action=verification时提交成功; 最后,创建验证函数,原理是将客户端用户提交的验证码同服务器codeimg.php中session的验证码是否一致;这里有一个js弹窗函数_alert_back(),我们也把它封装在global.func.php里; 修改verification-code.php中php代码如下:
[url=style/basic.css]     <script type="text/javascript" src="js/codeimg.js"></script> </head> <body>     <div id="testcode">         <form method="post" name="verification" action="verification-code.php?action=verification">             <dl>                 <dd>验证码:<input type="text" name="code" class="code" /><img src="codeimg.php" id="codeimg"  /></dd>                 <dd><input type="submit" class="submit" value="验证" /></dd>             </dl>         </form>     </div> </body> </html>
[img]http://files.jb51.net/file_images/article/201502/2015021214563812.gif[/img] [b]3.实现点击验证码图片更新验证码[/b] 上面若想实现验证码更新,必须刷新页面;我们写一个codeimg.js函数实现点击验证码图片更新验证码
然后在verification-code.php html代码head里<link>它即可。 [img]http://files.jb51.net/file_images/article/201502/2015021214564813.gif[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部