- 0
- 0
- 约7.91千字
- 约 13页
- 2018-11-16 发布于江苏
- 举报
php培训教材php如何实现验证码
Php教程:php如何实现验证码
验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码。正所谓,技多不压身。而且,也可以封装成一个函数,以后使用的时候也是很方便的,当然现在未封装。
现在来说说简单的纯数字验证码吧。
如果是初学者,建议按照我代码的注释 //数字 一步步来。最简单的方法,还是把整个代码复制走了。
新建一个captcha.php:
php
//10设置session,必须处于脚本最顶部
session_start();
$image = imagecreatetruecolor(100, 30); //1设置验证码图片大小的函数
//5设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue);
$bgcolor = imagecolorallocate($image,255,255,255); //#ffffff
//6区域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的区域着色,col 表示欲涂上的颜色
imagefill($image, 0, 0, $bgcolor);
//10设置变量
$captcha_code = ;
//7生成随机数字
for($i=0;$i4;$i++){
//设置字体大小
$fontsize = 6;
//设置字体颜色,随机颜色
$fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120)); //0-120深颜色
//设置数字
$fontcontent = rand(0,9);
//10.=连续定义变量
$captcha_code .= $fontcontent;
//设置坐标
$x = ($i*100/4)+rand(5,10);
$y = rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
//10存到session
$_SESSION[authcode] = $captcha_code;
//8增加干扰元素,设置雪花点
for($i=0;$i200;$i++){
//设置点的颜色,50-200颜色比数字浅,不干扰阅读
$pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));
//imagesetpixel — 画一个单一像素
imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);
}
//9增加干扰元素,设置横线
for($i=0;$i4;$i++){
//设置线的颜色
$linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));
//设置线,两点一线
imageline($image,rand(1,99), rand(1,29),rand(1,99), rand(1,29),$linecolor);
}
//2设置头部,image/png
header(Content-Type: image/png);
//3imagepng() 建立png图形函数
imagepng($image);
//4imagedestroy() 结束图形函数 销毁$image
imagedestroy($image);
接着就是静态页的代码
您可能关注的文档
- CAXA电子图板常见问题以及解决具体办法.doc
- CGDI编程培训教材CGDI编程培训教材.doc
- CoolEditPro培训教材中.doc
- Cooledit音频处理培训教材.doc
- CoreJava经典培训教材十七.doc
- CSS培训教材十步学会用css建站.doc
- C基础课堂笔记总结.doc
- C语言基础培训教材读书笔记.doc
- C语言用六种具体办法求定积分.doc
- C语言程序改错及填空题库.doc
- 【银河专题】如何看待豆粕内外价差关系.pdf
- 工业5.0指数:国家如何重塑2025年的经济进步.docx
- 【蔚云科技】亚马逊【扫地机器人】行业消费者洞察报告.docx
- 青海大通县朔山中学2025-2026学年高三下学期开学考试政治+答案.docx
- 青海大通县朔山中学2025-2026学年高三下学期开学考试英语+答案.docx
- 东北师大附中2025届高三下学期期初考试-英语试题+答案.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试政治试题(含答案).docx
- KPMG -欧洲数字产品护照 European Digital Product Passport.pdf
- 腾讯安全沙龙:后渗透新维度:利用Chrome插件后门实现持久化与凭据窃听.pdf
- 可持续发展报告调查:2025年结果.docx
原创力文档

文档评论(0)