应用Javascript+GD2函数制作无刷新验证码
来源:互联网 发布:c语言全套视频教程 编辑:程序博客网 时间:2024/04/29 17:59
(1) 在javascript脚本中完成两次随机数生成和传递操作。
- 通过javascript脚本生成随机函数,并将其赋给表单中的隐藏域,用于验证码进行验证,同时将随机数以超链接参数的形式传递到ValidatorCode.php文件中。
- 在Javascript脚本中单独定义reCode()方法,重复执行上面的操作,用于随机数的二次无刷新生成。
(2)在ValidatorCode.php中应用GD2函数,根据超链接传递的随机数生成数字图像。
(3) 在页面中通过<img>标签输出生成的数字图像(即数字图像验证码)。
(4)在页面中通过超链接调用Javascript脚本中的reCode()方法,执行验证码的二次生成。
index.php:
<input type="hidden" name="defValidatorCode" value="" /> <script language="javascript"> var num1=Math.round(Math.random()*10000000);//生成随机数 var num=num1.toString().substr(0,4);//截取随机数的前4个字符 document.write("<img name=codeimg src='ValidatorCode.php?code="+num+"'>"); //将截取值传递到图像处理页中 form1.defValidatorCode.value=num;//将截取值赋给表单中的隐藏域 function reCode(){//定义方法,重新生成验证码 var num1=Math.round(Math.random()*10000000);//生成随机数 var num=num1.toString().substr(0,4);//截取随机数 document.codeimg.src="ValidatorCode.php?code="+num;///将截取值传递到图像处理页中 form1.defValidatorCode.value=num;//将截取值赋给表单中的隐藏域 } </script><a href="javascript:reCode()" class="a1">看不清</a>
ValidatorCode.php:
<?phpheader('content-type:image/png');//定义标题png格式图像$im = imagecreate(65, 25);//定义画布imagefill($im, 0, 0, imagecolorallocate($im, 200, 200, 200));//区域填充$validatorCode = $_GET['code'];//获取提交的值imagestring($im, rand(3, 5), 10, 3, substr($validatorCode, 0, 1), imagecolorallocate($im, 0, rand(0, 255), rand(0, 255)));imagestring($im, rand(3, 5), 25, 6, substr($validatorCode, 1, 1), imagecolorallocate($im, rand(0, 255), 0, rand(0, 255)));imagestring($im, rand(3, 5), 36, 9, substr($validatorCode, 2, 1), imagecolorallocate($im, rand(0, 255), rand(0, 255), 0));imagestring($im, rand(3, 5), 48, 12, substr($validatorCode, 3, 1), imagecolorallocate($im, 0, rand(0, 255), rand(0, 255)));imagepng($im);//生成PNG图像imagedestroy();//销毁图像
本例中生成的是清晰的数字图像验证码,我们还可以在此基础上为验证码增加干扰背景,使其看上去模糊些。
for ($i = 0; $i < 200; $i ++) {//填充干扰背景 imagesetpixel($im, rand() % 70, rand() % 30, imagecolorallocate($im, rand(0, 255), rand(0, 255), rand(0, 255)));}
- 应用Javascript+GD2函数制作无刷新验证码
- 无刷新验证码
- 无刷新验证码
- 无刷新验证码
- ajax 简单应用---用户名无刷新验证
- JSP无刷新验证码
- 验证码无刷新问题
- 验证码无刷新更换
- 制作验证码时,将gd2图像处理扩展功能开启的方法
- javaScript制作验证码
- javascript制作验证码
- php-gd2-生成验证码案例1
- javascript刷新验证码图片
- ajax+javascript+php实现注册用户名无刷新验证
- AJAX+jsp无刷新验证码实例
- AJAX+jsp无刷新验证码实例
- AJAX+jsp无刷新验证码实例
- AJAX+jsp无刷新验证码实例
- js window.event
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序(约瑟夫环问题)
- 主人介绍
- WPF 在TextBox失去焦点时检测数据,出错重新获得焦点解决办法
- C#中的一个线程同步的例子
- 应用Javascript+GD2函数制作无刷新验证码
- 用于添加C++类成员变量的宏
- 爸爸的好短信
- Jetty6的架构
- Lucene 基础
- 每个程序员都应该学习使用Python或Ruby 转载
- ZOJ1204 Additive equations,DFS+set+仿函数+剪枝
- 如何在sourceforge上通过SVN下载源代码
- 如果有下辈子