php点击验证码,用PHP实现验证码功能

作者:hutuworm 来源:糊涂馋寺

牐犇壳埃不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了

验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,

图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输

入表单提交网站验证,验证成功后才能使用某项功能。

牐犖颐钦饫镎故玖巳绾伪嘈碢HP程序实现验证码功能:

牐牬码一:

/*

*   Filename:    authpage.php

*   Author:   hutuworm

*   Date:   2003-04-28

*   @Copyleft    hutuworm.org

*/

srand((double)microtime()*1000000);

//验证用户输入是否和验证码一致

if(isset($HTTP_POST_VARS['authinput']))

{

if(strcmp($HTTP_POST_VARS['authnum'],$HTTP_POST_VARS['authinput'])==0)

echo "验证成功!";

else

echo "验证失败!";

}

//生成新的四位整数验证码

while(($authnum=rand()%10000)<1000);

?>

请输入验证码:

>

                authimg.php?authnum=<?>

牐牬码二:

/*

*   Filename:    authimg.php

*   Author:   hutuworm

*   Date:   2003-04-28

*   @Copyleft    hutuworm.org

*/

//生成验证码图片

Header("Content-type: image/PNG");

srand((double)microtime()*1000000);

$im = imagecreate(58,28);

$black = ImageColorAllocate($im, 0,0,0);

$white = ImageColorAllocate($im, 255,255,255);

$gray = ImageColorAllocate($im, 200,200,200);

imagefill($im,68,30,$gray);

//将四位整数验证码绘入图片

imagestring($im, 5, 10, 8, $HTTP_GET_VARS['authnum'], $black);

for($i=0;$i<50;$i++)   //加入干扰象素

{

imagesetpixel($im, rand()%70 , rand()%30 , $black);

}

ImagePNG($im);

ImageDestroy($im);

牐?>

牐牨疚某绦蛟贏pache 2.0.45 + PHP 4.3.1环境下运行通过。

上文只是对验证码功能的一个简单实现,并没有考虑商用安全性问题。如果要增强安全性,将此功能投入商业应用,则可以通过以下几个步骤实现:

1. 启用Session。

2. authnum在authimg.php中生成,并计算md5sum,存入session。

3. authpage.php将authinput计算md5sum后,与session中的authnum(md5sum)对比得出验证结果。

本站注:作者使用了简单的代码实现了很酷的功能。不过在添加干扰像素时的效果不是太好,大家可以看一下雨声论坛登录时的效验码(http://ror.cn/perl/ut/user_login.cgi),偶把第二段代码稍改了一下,生成了与其类似的效果。

修改后的代码如下:

/*

*   Filename: authimg.php

*   Author:   hutuworm

*   Date:     2003-04-28

*   @Copyleft hutuworm.org

*/

//生成验证码图片

Header("Content-type: image/PNG");

srand((double)microtime()*1000000);

$im = imagecreate(62,20);

$black = ImageColorAllocate($im, 0,0,0);

$white = ImageColorAllocate($im, 255,255,255);

$gray = ImageColorAllocate($im, 200,200,200);

imagefill($im,68,30,$gray);

while(($authnum=rand()%100000)<10000);

//将四位整数验证码绘入图片

imagestring($im, 5, 10, 3, $authnum, $black);

for($i=0;$i<200;$i++)   //加入干扰象素

{

$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));

imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);

}

ImagePNG($im);

ImageDestroy($im);

?>

这就是微学网-程序员之家为你提供的"用PHP实现验证码功能"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/1578.html

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

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

相关文章

业界 | 计算芯片革命来临?英伟达谷歌入局紧逼英特尔

来源&#xff1a;AI科技评论概要&#xff1a;为了能够满足高速增长的计算需求&#xff0c;一些科技巨头们现在正从生物学中寻找灵感。他们正在重新思考电脑的本质&#xff0c;然后建造更像人类大脑的机器&#xff1a;神经系统里要有一个中央脑干&#xff0c;然后把听、说这样的…

php tp框架分页源代码,ThinkPHP3.2框架自带分页功能实现方法示例

本文实例讲述了ThinkPHP3.2框架自带分页功能实现方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;1.前端-分页代码&#xff1a;{$page}2.创建分页样式&#xff1a;如page.css 并将以下代码复制到该文件中.pages{float: right}.pages a,.pages span {display:inline…

【研究报告】城市云脑,智慧城市2.0产生背后的深层原因,两个重要特征是关键

作者&#xff1a;计算机博士&#xff0c;互联网进化论作者 刘锋到2017年&#xff0c;智慧城市与脑的关键词不断涌现&#xff0c;在互联网云脑的研究基础上&#xff0c;城市云脑形成更为清晰的定义&#xff0c;从2009年智慧地球和智慧城市提出以来&#xff0c;经过8年时间&#…

机器人也需要拥有属于自己的性格

原作者&#xff1a;STEPH HAY, CAPITAL ONE译者&#xff1a;彭婷概要&#xff1a;建立信任最有效的方法之一就是在你的每一次互动中始终如一地展示你的人格的完整性。现实生活中是如此&#xff0c;在AI中也是如此。对话设计师Mindy Gold曾经设计出一款没有明确名称以及性别的健…

IBM Watson 的中国生意

来源&#xff1a;财经杂志概要&#xff1a;鉴于过往&#xff0c;IBM的此次转型更具深意。这家巨头公司此次转型的任务是&#xff0c;业务架构要从软件硬件服务&#xff0c;转变为云认知行业。IBM的这场转型尚未到最终评定是否成功的阶段&#xff0c;但新的业务组合收入如果超过…

java 包含汉字,java判断字符串中是否包含汉字

java判断字符串中是否包含汉字package com.zuidaima.util;/**[email protected] www.zuidaima.com**/public class test {public static void main(String[] args) {String a "中国China";for (int ia.length(); --i>0;) {String b a.substring(i, i1);boolean …

2013-2017:中国 CV(计算机视觉)公司恩仇录

来源&#xff1a;KnowingAI知智概要&#xff1a;这是属于中国 CV&#xff08;计算机视觉&#xff09;公司的五年&#xff0c;这是属于他们的时代。2013 年新广告法还没实行&#xff0c;旷视科技为 Face 写下文案&#xff1a;「最好的人脸识别云计算平台」。2014 年是「格灵深瞳…

git php自动发布,使用 Git Hooks 实现自动部署PHP项目

最近正在寻找一种简便的自动部署代码到服务器的方式&#xff0c;然后就发现了git hooks这个方法&#xff0c;查了一些资料再自己尝试过后&#xff0c;觉得还不错&#xff0c;记录下。什么是git hooks在git上是这么介绍的&#xff1a;和其它版本控制系统一样&#xff0c;Git能在…

matlab读取时间数据,Matlab有关数据库读取及时间项的设定

Matlab有关数据库的读取需下载mysql-connector-java-5.1.26-bin.jar文件放到指定位置&#xff0c;并修改classpath.txt相关文件&#xff0c;具体可网上自行查找。看一下实例&#xff1a;conndatabase(‘photo‘, ‘root‘, ‘123321‘, ‘com.mysql.jdbc.Driver‘, ‘jdbc:mysq…

GAN还有这种操作!谷歌大脑和X实验室利用模拟条件和域适应提高机器抓取效率(附论文)

来源&#xff1a;机器人圈作者&#xff1a;Coogle Brain&#xff0c;Google X概要&#xff1a;相信大家都知道&#xff0c;通过检测和采集带有注释的视觉抓取数据集来训练现代机器学习算法可以说是非常耗时、昂贵的。相信大家都知道&#xff0c;通过检测和采集带有注释的视觉抓…

英伟达的雄心:成为AI时代的计算平台

9 月 26 日&#xff0c;NVIDIA英伟达在北京举行GTC大会&#xff0c;NVIDIA 创始人兼首席执行官黄仁勋在演讲中展示了能够加快人工智能大规模采用速度的全新技术&#xff0c;并介绍了为云服务商、电商和智慧城市提供的各项计算平台服务。发布AI 推理软件TensorRT 3&#xff1a;可…

Gartner公布云计算市场排位:亚马逊微软阿里前三

来源&#xff1a;网易科技概要&#xff1a;Gartner认为&#xff0c;亚马逊、微软和阿里云三大巨头引领了增长&#xff0c;预估IaaS、PaaS和SaaS的5年增长分别为28%、22%和19%。9月27日&#xff0c;美国权威研究机构Gartner发布2016年全球公共云市场份额报告&#xff0c;全球云计…

重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN

来源&#xff1a; AI科技大本营概要&#xff1a;深度神经网络需要花大力气调参&#xff0c;相比之下 gcForest 要容易训练得多。此外&#xff0c;深度神经网络需要大规模的训练数据&#xff0c;而 gcForest 在仅有小规模训练数据的情况下也照常运转。今年 2 月&#xff0c;南京…

adv是php系统标签,whatsns开源php系统网站SEO优化之网站首页,问题详情,文章详情,标签详情,栏目详情TDK优...

网站首页优化TDK可以进入后台&#xff0c;系统设置--站点设置中&#xff0c;设置网站首页别名官方首页名称优化--长尾关键词【whatsns知识库开源内容付费php问答系统】&#xff0c;这样百度搜索问答系统&#xff0c;开源php问答系统&#xff0c;php问答系统&#xff0c;付费问答…

MIT联合波士顿咨询:全球21个行业,对话3000名高管,AI如何重塑商业形态? | 雷报

来源&#xff1a;雷锋网概要&#xff1a;目前只有14%的调查对象认为&#xff0c;AI对他们现在的产品或服务已经有了很大的影响。但对于5年后的情况&#xff0c;这一比例上升到63%。人工智能已经成了一个新的风口&#xff0c;人人都在谈论人工智能&#xff0c;但是&#xff0c;企…

智能体到底是什么?这里有一篇详细解读

来源&#xff1a;机器人圈概要&#xff1a;根据我们希望实现的目标以及衡量其成功的标准&#xff0c;我们可以采用多种方法来创建人工智能。根据我们希望实现的目标以及衡量其成功的标准&#xff0c;我们可以采用多种方法来创建人工智能。它涵盖的范围极其广泛&#xff0c;从自…

人类PK机器:人工神经网络和生物神经网络的比较

原文作者&#xff1a;MADELINESCHIAPPA译者&#xff1a;李凌概要&#xff1a;通过对生物学习与人工智能进行的比较&#xff0c;我们可以建立一个更安全的基础设施系统。 通过对生物学习与人工智能进行的比较&#xff0c;我们可以建立一个更安全的基础设施系统。 本文由Sophos的…

h5大转盘 php,HTML5 canvas实现中奖转盘的实例代码

本篇文章给大家带来的内容是关于HTML5 canvas实现中奖转盘的实例代码&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。最近在学canvas做动画&#xff0c;于是就写个转盘练下手。上个简陋的成果图(中间那个是转的指针&#xff…

硬件巨头正在崛起,中国独占鳌头

来源&#xff1a;亿欧概要&#xff1a;四年前&#xff0c;当第一份独角兽名单产生时&#xff0c;名单上有39家创业公司&#xff0c;其中只有一家是硬件公司。今天&#xff0c;世界上有大约213家独角兽&#xff0c;其中有18家是硬件创业公司。考虑到硬件只占全球科技创业公司的一…

MATLAB显示错误使用untitled,使用Matlab 2016a阻止集合构建错误

matlab R2016a.OS&#xff1a;我所生成的Windows 10All是Master Block&#xff0c;除了用于测试用例之外&#xff0c;没有其他任何东西&#xff0c;我得到以下错误&#xff1a;请帮助我完成这项工作&#xff0c;因为我确实需要完成一些工作。Ali以上来自于百度翻译以下为原文Hi…