使用php生成动态的验证码图片

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>GETTING STARTED WITH BRACKETS</title>
<style>
img{vertical-align: bottom;}
</style>
</head>
<body>
<h2>PHP中的函数</h2>
<?php
function add($a,$b){
$sum = 0;
$sum = $a+$b;
return $sum;
}
echo add(1,2);
?>
<hr/>
<?php
$s = 'abc';
echo $s[1];//b
?>
<h2>使用PHP生成动态的验证码图片</h2>
<?php ?>
<hr/>
<h2>用户登录</h2>
用5-1.php语言脚本生成我需要的图片,是服务器端动图生成的图片
验证码:<input/><img src="5-1.php"/>
</body>
</html>

index.php

<?php
//注意,此文件是要向客户端输出一副动态生成的图片,所以,前前后后不能有任何的字符输出 //告诉客户端,本页面输出的内容类型,是一个图片
header('Content-Type','image/png');
$w = 100;
$h = 30; //在服务器的内存中创建一副真彩色图片
$img = imagecreatetruecolor($w,$h); //分配一个即将使用的颜色(固定颜色)
// $c=imagecolorallocate($img,255,0,0);//红色 //分配一个即将使用的颜色(随机颜色)
$c=imagecolorallocate($img,rand(150,230),rand(150,230),rand(150,230)); //在图片上画一个矩形,作为背景色
imagefilledrectangle($img,0,0,$w,$h,$c); //生成四个随机的字符
$src = 'ABCDEFGHIJKLMNPQRSTUVXWYZ23456789';//除去字母O和数字0,1,容易混淆
$txt = $src[rand(0,strlen($src))];
$txt .= $src[rand(0,strlen($src))];
$txt .= $src[rand(0,strlen($src))];
$txt .= $src[rand(0,strlen($src))]; //再重新分配一个颜色
$c=imagecolorallocate($img,rand(150,230),rand(150,230),rand(150,230)); //把字符串刷到图片上
imagestring($img,20,30,8,$txt,$c); //向客户端输出图片中的二进制数据
imagepng($img); //从服务器端的内存中删除创建的图片
imagedestroy($img);
?>

1.2_php验证码的更多相关文章

  1. .net点选验证码实现思路分享

    哈哈好久没冒泡了,最进看见点选验证码有点意思,所以想自己写一个. 先上效果图 如果你被这个效果吸引了就请继续看下去. 贴代码前先说点思路: 1.要有一个汉字库,并按字形分类.(我在数据库里是安部首分类 ...

  2. 【探索】无形验证码 —— PoW 算力验证

    先来思考一个问题:如何写一个能消耗对方时间的程序? 消耗时间还不简单,休眠一下就可以了: Sleep(1000) 这确实消耗了时间,但并没有消耗 CPU.如果对方开了变速齿轮,这瞬间就能完成. 不过要 ...

  3. TODO:Laravel增加验证码

    TODO:Laravel增加验证码1. 先聊聊验证码是什么,有什么作用?验证码(CAPTCHA)是"Completely Automated Public Turing test to te ...

  4. PHP-解析验证码类--学习笔记

    1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1  定义变量 //随机因子 private $char ...

  5. 随手记_C#验证码

    前言 最近在网上偶然看见一个验证码,觉得很有意思,于是搜了下,是使用第三方实现的,先看效果: 总体来说效果还是可以的,官方提供的SDK也比较详细,可配置性很高.在这里在简单啰嗦几句使用方式: 使用步骤 ...

  6. WPF做12306验证码点击效果

    一.效果 和12306是一样的,运行一张图上点击多个位置,横线以上和左边框还有有边框位置不允许点击,点击按钮输出坐标集合,也就是12306登陆的时候,需要向后台传递的参数. 二.实现思路 1.获取验证 ...

  7. 零OCR基础6行代码实现C#验证码识别

    这两天因为工作需要,要到某个网站采集信息,一是要模拟登陆,二是要破解验证码,本想用第三方付费打码,但是想想网上免费的代码也挺多的,于是乎准备从网上撸点代码下来,谁知道,撸了好多个都不行,本人以前也没接 ...

  8. ASP.NET中画图形验证码

    context.Response.ContentType = "image/jpeg"; //生成随机的中文验证码 string yzm = "人口手大小多少上中下男女天 ...

  9. asp.net mvc 验证码

    效果图 验证码类 namespace QJW.VerifyCode { //用法: //public FileContentResult CreateValidate() //{ // Validat ...

随机推荐

  1. Oracle查询及删除重复数据

    1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 ) 2.删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 ) ); 3.查找表中多余的重复记录 ...

  2. 使用struct与使用class初始化对象效率对比

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  3. Hadoop文件解压缩

    Class org.apache.hadoop.io.compress .CompressionCodecFactory A factory that will find the correct co ...

  4. clone和lambda的一个小问题和解决

    起因是这样,某管理器类有两个集合,A集合是模板集合,B集合是从模板中实例出的集合. 但是B集合的一些东西,总会调用A集合中的,导致出错. 一开始考虑clone使用不当,但检查后没发现什么问题,后来发现 ...

  5. vivado设计四:自定义IP核测试

    在vivado设计三中:http://blog.chinaaet.com/detail/37177已经建立了vivado工程和封装好了自定义IP核. 那么接下来,我们对这个自定义IP核进行测试了:我们 ...

  6. nginx 查看访问 IP 并封禁 IP 详解

    1.查找服务器所有访问者ip方法: awk '{print $1}' nginx_access.log |sort |uniq -c|sort -n nginx.access.log 为nginx访问 ...

  7. HTTP Range header

    http://stackoverflow.com/questions/3303029/http-range-header *************************** 58 down vot ...

  8. js上传控件 plupload 使用记录

    最近一个项目需要使用一个上传控件进行多图片上传,给用户更好的体验,找到了plupload,用了一下感觉还是不错的, 1.从官网上  可以获得例子 ,我集成到了jsp,如下: <%@ page l ...

  9. 7-16 Bestcoder a Oracle

    Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submissio ...

  10. (转)LUA正则表达式不完全指南

    转自剑侠论坛,并稍微修改个别文字. 好不容易闲下来,研究了一下正则表达式,然后越钻越深,经过跟大神们讨论学习后,就没有然后了.总之╮(╯▽╰)╭很有用的一个东西,至少对于用户输入的读取方面会比较方便, ...