php 验证码的代码,php验证码生成代码
验证码通常是用来安全保证我们网站注册或登录不被注入的,但为了更安全我们通常会生成一些混合验证码了,下面一起来看看例子.
在我们开发登录模块或者是论坛的灌水模块的时候,为了防止恶意提交,需要用到验证码,验证码就是用来区分人和机器的一种手段,当然这种手段不是万无一失,但总归会起到一些作用.
验证码的实现需要GD库的支持,没有开启GD库的童鞋需开启GD库,其实验证码的制作和使用非常的简单,仅仅只是需要4个步骤就可以搞定:创建验证码底图,显示验证码内容,增加干扰元素,输出验证码,下面我们来进行步骤拆分:
第一步:创建验证码底图
$image = imagecreatetruecolor(100, 30); // 创建一个宽为 100 高为 30 的底图 该底图的背景色 为黑色 是系统定义的
$bgcolor = imagecolorallocate($image, 255, 255, 255); // 为上面创建的底图分配 白色的背景颜色
imagefill($image, 0, 0, $bgcolor); // 填充白色背景色
第二步:显示验证码内容
// 输出验证码内容
for ($i=0; $i < 4; $i++) {
$fontsize = 6;
$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
$data = 'qwertyuipkjhgfdsazxcvbnm23456789';
$content = substr($data, rand(0, strlen($data)), 1);
$x = ($i*100/4) + rand(5,9);
$y = rand(5,10);
imagestring($image, $fontsize, $x, $y, $content, $fontcolor); //在图像上水平输出一行字符串
}
第三步:增加干扰元素
// 增加干扰点元素
for ($i=0; $i < 300; $i++) {
$pointcolor = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));
imagesetpixel($image, rand(0,99), rand(0,29), $pointcolor);
} //开源软件:phpfensi.com
// 增加干扰线元素 线 和 点 的颜色一定要控制好 要比验证码数字的颜色浅 避免出现验证码数字看不见的现象
for ($i=0; $i < 4; $i++) {
$linecolor = imagecolorallocate($image, rand(100,240), rand(100,240), rand(100,240));
imageline($image, rand(0,99), rand(0,29), rand(0,99), rand(0,29), $linecolor);
}
第四步:输出验证码
// 输出创建的图像 在输出图像之前 必须输出头信息 用来规定输出的图像类型
header("Content-Type: image/png");
imagepng($image);
// 销毁图像
imagedestroy($image);
至此,一个简单的验证码就实现了,关于实现验证码的注意事项已经写在了注释里,使用验证码的时候,我们一般都需要用session来保存以便验证,在这里就不作详细介绍。
以上就是php验证码生成代码,在重要的代码里已经进行了注释,大家可以仔细研究注释内容,也很重要,希望大家能够有所收获吧
php 验证码的代码,php验证码生成代码相关推荐
- 咖啡html代码,HTML5咖啡生成代码动画
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 ! function($) { "use strict"; var Typed = fu ...
- VS2010 win32项目windows窗体程序 向导生成代码解析
目录: 1.Win32项目的windows窗体程序的向导生成了如下代码 2.手工生成代码如下 3.当消息队列中没有消息需要处理,我们可以利用这段时间处理我们自己的任务 1.Win32项目的window ...
- MATLAB的Curve Fitting Tool 生成代码并被调用
以MATLAB2014b为例: 打开Curve Fitting:应用程序>>Curve Fitting: 拟合:选择数据源>>X/Y/Z data(没有的话运行下你想曲面拟合的 ...
- php 实现图形验证码,PHP实现图形验证码案例(1)
图形验证码是网站中必备的基础设施,本文采用了Edword Eliot写的PhpCaptcha验证码生成库.开源的"最土团购"就是采用这个验证码生成库,该库主要包含这么几个文件: C ...
- php mysql 验证码代码_PHP_PHP 验证码的实现代码,checkcode.php 生成验证码图片, - phpStudy...
PHP 验证码的实现代码 checkcode.php 生成验证码图片,还有变量 $_SESSION[check_pic]. 复制代码 代码如下: session_start(); for($i=0; ...
- java 后端 验证码逻辑_Java后端产生验证码后台验证功能的实现代码
直接跳severlet在java后台生成验证码: @RequestMapping(value="yzm.action") public void Yzm(HttpSession s ...
- Web项目中手机注册短信验证码实现的全流程及代码
最近在做只能净化器的后台用户管理系统,需要使用手机号进行注册,找了许久才大致了解了手机验证码实现流程,今天在此和大家分享一下. 我们使用的是榛子云短信平台, 官网地址:http://smsow.zhe ...
- Java代码生成图片验证码
Java生成图片验证码 1.编写代码 copy 下面的代码 并运行main函数 import javax.imageio.ImageIO; import java.awt.*; import java ...
- c语言短信验证码,Web项目中手机注册短信验证码实现的全流程及代码
使用的是榛子云短信平台, 官网地址:http://smsow.zhenzikj.com 后端使用了springMvc,前端用的是jsp + jquery 下载demo: https://downloa ...
最新文章
- pip is configured with locations that require TLS/SSL 解决
- 与http协作的web服务器、http首部(第五章、第六章)
- login窗口for mysql_CTF| SQL注入之login界面
- 如何批量查问PR值、百度权重、百度快照及收录量,用BlueCatTools批量网站查询工具
- 安卓第二阶段实训项目:基于媒体库音乐播放器V1.0
- drbd相关知识点解析
- C#方法的六种参数,值参数、引用参数、输出参数、参数数组、命名参数、可选参数...
- 资源 | 有没有必要把机器学习算法自己实现一遍?
- 关于线程join方法的理解
- TCP和UDP的区别与联系
- 微信android支持版本,兼容安卓4.2.2版本安装哪个版本微信!微信支持版本是什么版本吗...
- H3C S5820V2 MSR36-20
- gprs信息上传服务器,车载GPS GPRS数据上传 源码带注释
- virt-manager 管理KVM虚拟机
- Python之word2vec用法说明
- 大数据开发之安装mysql
- Eclipse Other Projects
- C++工程编译链接错误汇总VisualStudio
- 搜索引擎排名都选乐云seo_搜索优化技术选乐云seo
- java对配_[Java教程]对局匹配