php登录个性验证码,PHP七种不同的个性创意验证码例子

20160419221740117.jpg.png

验证码图片html代码:

1.php

第一个图像验证码类,其他6种验证码类请下载查看:

class captcha{

/**

+----------------------------------------------------------

* 生成验证码

+----------------------------------------------------------

* @static

* @access public

+----------------------------------------------------------

* @param int $len  验证码字符数

* @param int $font_size  验证码字体大小

* @param string $name  session名称

* @param int $width  图片长度

* @param int $height  图片高度

+----------------------------------------------------------

* @return void

+----------------------------------------------------------

*/

static function generate($len=4,$font_size=48,$name='captcha',$width='',$height=''){

if($width=='') $width=($font_size+5)*($len+1);

if($height=='') $height=($font_size)*2;

$chars='bcdefhkmnrstuvwxyABCDEFGHKMNPRSTUVWXY345689';

$str='';

for($i=0;$i

$str .= substr($chars,mt_rand(0,strlen($chars)-1),1);

}

$_SESSION[$name]=$str;//写入session

for($num=0;$num<10;$num++){

ob_start();

$image=imagecreatetruecolor($width,$height);//创建图片

$bg_color=imagecolorallocate($image,255,255,255);//设置背景颜色

$border_color=imagecolorallocate($image,100,100,100);//设置边框颜色

$text_color=imagecolorallocate($image,0,0,0);//设置验证码颜色

imagefilledrectangle($image,0,0,$width-1,$height-1,$bg_color);//填充图片背景色

imagerectangle($image,0,0,$width-1,$height-1,$border_color);//填充图片边框颜色

for($i=0;$i<5;$i++){

$line_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰线颜色

imageline($image,rand(0,$width),0,$width,$height,$line_color);//画一条线段

}

for($i=0;$i<500;$i++){

$dot_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰点颜色

imagesetpixel($image,rand()%$width,rand()%$height,$dot_color);//画一个像素点

}

for($i=0;$i

imagettftext($image,$font_size,rand(-3,3),$font_size/2+($font_size+5)*$i,$height/1.25-rand(2,3),$text_color,'Groupsex.ttf',$str[$i]);//用规定字体向图像写入文本

}

imagegif($image);

imagedestroy($image);

$imagedata[] = ob_get_contents();

ob_clean();

}

require('GIFEncoder.class.php');

$gif = new GIFEncoder($imagedata);

ob_clean();//防止出现'图像因其本身有错无法显示'的问题

header('Content-type:image/gif');

echo $gif->GetAnimation();

}

}

//调用示例

session_start();

captcha::generate(6,48);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

突发!ASML断供中芯国际

来源&#xff1a;芯榜据日经新闻6日报道&#xff0c;荷兰半导体设备供应商阿斯麦尔&#xff08;ASML&#xff09;供应极紫外光&#xff08;EUV&#xff09;光刻机给中芯国际的计划已经中止&#xff0c;多位ASML供应商关系人士指出&#xff0c;ASML是为了避免因供应最先进的设备…

马化腾:微信将被谁颠覆,领衔下一代互联网的终端居然是?

来源&#xff1a;梧桐会导语1&#xff64;10年一更替&#xff0c;互联网格局将如何演变&#xff1f;2&#xff64;第三代互联网谁主沉浮&#xff1f;3&#xff64;谁是下一个苹果&#xff0c;谁是下一个诺基亚&#xff1f;4&#xff64;全球科技巨头的下一步动作是什么&#xf…

matlab trendsurface,MATLAB 添加新的预测性维护产品

图1&#xff1a;源自脉宽调制波形的脉宽趋势和跟踪。中心迹线(橙色)是脉宽的跟踪。该波形包含与采集波形相同的100k个点。对每个测量值进行升采样(upsampled&#xff0c;即加大采样率)以匹配源波形每个周期的持续时间。跟踪图始终与源波形同步。由于跟踪功能具有时间同步特性&a…

苹果一键越狱工具_最新苹果越狱工具现世,可越狱所有iOS版本!

出于安全原因考虑&#xff0c;apple默认是不允许用户有iPhone和其他iOS设备的完全控制权限。越狱是指通过利用iOS操作系统中的漏洞使得可以通过定制的软件来获取设备的root和完全访问权限。近日&#xff0c;一个由黑客、安全研究人员和逆向工程师组成的团队——Unc0ver&#xf…

你认识的世界与客观世界间差了N光年

想象一下这样的场景&#xff0c;你得到一个金属盒子并被告知不可能知道盒子里的内容。你可以尝试钻它&#xff0c;烧它&#xff0c;用 X 射线照它&#xff0c;摇晃它&#xff0c;打破它以及其他各种手段&#xff0c;但是你永远无法打开它或者知道里面是什么。这个盒子里装着的就…

qt 通过类实现画图_QT案例IDE编写 通过枚举实现编码切换

低谷期一定要默默的熬过去&#xff0c;别去打扰任何人&#xff0c;否则留下的只是别人的笑柄&#xff0c;不论幸或不幸&#xff0c;你的挣扎无人能见&#xff0c;无人能懂。。。---- 网易云热评一、定义一个枚举enum MyCode{ utf_8,gbk};二、定义一个枚举变量&#xff0c;默…

美国在人工智能领域亟待解决的5大难题

来源&#xff1a;战略前沿技术据C4ISRNET网站报道&#xff0c;根据2018年《国防授权法案》&#xff0c;美国国会组建了由多名技术专家组成的人工智能国家安全委员会&#xff0c;以指导美国人工智能技术的发展。该委员会由谷歌母公司Alphabet前负责人埃里克施密特&#xff08;Er…

查看ie保存的表单_小学信息技术gt;搜索保存网页教师资格证面试模板

中小学教师资格证考试面试真题备考纸&#xff1a;小学信息技术《搜索保存网页》微博中小学教师资格证考试小学信息技术《搜索保存网页》一、考题回顾试讲题目1.题目&#xff1a;搜索保存网页2.内容&#xff1a;搜索引擎是一个对因特网上的信息资源进行搜集整理&#xff0c;为人…

一线专家谈2020年人工智能落地趋势

来源&#xff1a;海豚大数据及人工智能实验室转眼间&#xff0c;2019年只剩下不到两个月了。人工智能的热度依旧&#xff0c;只是在资本市场&#xff0c;看空的投资人也越来越多了。从当年大数据的发展趋势看&#xff0c;这种情况反而对产业发展是有利的。因为这意味着&#xf…

zset中的score_Redis 在项目中合理使用经验总结

背景Redis 是一个开源的内存数据结构存储系统。可以作为数据库、缓存和消息中间件使用。支持多种类型的数据结构。Redis 内置了 复制&#xff08;replication&#xff09;&#xff0c;LUA脚本&#xff08;Lua scripting&#xff09;&#xff0c; LRU驱动事件&#xff08;LRU ev…

八种颠覆未来作战的前沿技术

来源&#xff1a;军事高科技在线目录一、颠覆未来作战的前沿技术系列——脑科学二、颠覆未来作战的前沿技术系列——人体增强三、颠覆未来作战的前沿技术系列——石墨烯四、颠覆未来作战的前沿技术系列——超材料五、颠覆未来作战的前沿技术系列——太赫兹技术六、颠覆未来作战…

Java对象垃圾回收调用,JVM垃圾回收之哪些对象可以被回收

1.背景Java语言相比于C和C&#xff0c;一个最大的特点就是不需要程序员自己手动去申请和释放内存&#xff0c;这一切交由JVM来完成。在Java中&#xff0c;运行时的数据区域分为程序计数器、Java虚拟机栈、本地方法栈、方法区和堆。其中&#xff0c;程序计数器、虚拟机栈和本地方…

hp

命令组成hpacucli [parametervalue] 查看&#xff1a; 查看所有控制器状态 hpacucli ctrl all show 查看slot 0阵列信息详细状态 &#xff08;可以查看物理磁盘和逻辑磁盘的对应关系&#xff09;1&#xff09;hpacucli ctrl slot0 show config detail2&#xff09;hpacucli ct…

报告|机器人行业深度报告:机器人产业价值与回报相关度分析

来源&#xff1a;机器人大讲堂2009&#xff5e;2018年中国工业机器人保有量在全球保有量的占比稳步提升。据IFR数据&#xff0c;截止2018年底&#xff0c;中国工业机器人保有量达到64.94万台&#xff0c;全球占比为26.97%。2013&#xff5e;2018年间中国新增工业机器人中国产品…

汉字的ascii码值范围_ASCII代码

同学们&#xff0c;我们都知道计算机只能接受二进制信息&#xff0c;很显然直接给出英文的ABCD计算机并不认识&#xff0c;那为何敲击键盘屏幕就可以显示出对应的字符呢&#xff1f;为了解决这个问题&#xff0c;计算机采用一套编码&#xff0c;每个编码都是唯一的&#xff0c;…

从ICLR提交论文看机器学习的趋势和风口

大数据文摘出品来源&#xff1a;deepsense2013年才举办第一届的ICLR&#xff08;The International Conference on Learning Representations&#xff09;发展迅猛&#xff0c;如今已成为是最重要的国际机器学习会议之一&#xff0c;甚至可以和ICML&#xff0c;NeurIPS和CVPR这…

php 登录安全认证,介绍几种常用的web安全认证方式

本文为大家介绍了五种常用的web安全认证方式&#xff0c;具有一定的参考价值&#xff0c;希望能对大家有所帮助。1、Http Basic Auth这是一种最古老的安全认证方式&#xff0c;这种方式就是简单的访问API的时候&#xff0c;带上访问的username和password&#xff0c;由于信息会…

日期选择控件-laydate

laydate控件非常简单易用&#xff0c;只需要调用一个个函数就可以轻松实现日期时间选择。 <% page language"java" import"java.util.*" pageEncoding"UTF-8"%><%String path request.getContextPath();String basePath request.getS…

这个“大脑”收获一份大奖!

来源&#xff1a;新华社第17届亚洲-太平洋通讯社组织&#xff08;亚通组织&#xff09;全体大会8日在韩国首尔闭幕。大会颁发了亚通组织卓越通讯社品质奖&#xff0c;中国新华通讯社与越南通讯社分别获奖。这是亚通组织主席、阿塞拜疆国家新闻社社长阿斯兰阿斯兰诺夫&#xff0…

检查用户名是否存在的servlet代码怎么写_Servlet详解!!!

1 掌握 请求转发2 掌握 请求重定向3 掌握cookie1. 请求转发介绍(1) 为什么需要请求转发?以此请求的处理需要多个Servlet的联动操作,第一个Servlet需要用到其他Servlet已经声明的逻辑处理代码(2) 请求转发的本质是什么&#xff1f;其实就是在一个Servlet中调用其他的Servlet2. …