About_PHP_验证码的生成
验证码就是一张图片,用到几个关键字:
<?php session_start();
$arr = array(
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x',
'y','z','0','1','2','3','4','5','6','7','8','9'
);
$rand = "";
for($i=1;$i<=4; $i++){
$rand .= $arr[rand(0,count($arr)-1)];
}
$_SESSION['check_pic'] = $rand;
//生成图片
$im = imagecreatetruecolor(100,30); //生成颜色,当第一次调用生成颜色的方法,是生成背景颜色(三原色)
$bg = imagecolorallocate($im,0,0,0); //第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色(三原色)
$te = imagecolorallocate($im,255,255,255); //在图片上面生成文字
//rand(1,5):随机5种字体1-5
//rand(3,70):随机文字出现的X轴坐标
//rand(3,15):随机文字出现的Y轴坐标
//$rand:随机出现的字
//$te:采用字体颜色
imagestring($im,rand(1,5),rand(3,70),rand(3,15),$rand,$te); //要把php当成图片输出,必须给文件一个头申明,jpeg
header("Content-type:image/jpeg"); //最终生成图片
imagejpeg($im); ?>
通常,验证码是需要验证的:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<body> <?php
session_start();
if(isset($_POST['check'])){
if($_POST['check'] == $_SESSION['check_pic']){
echo "验证成功";
}else{
echo "验证失败";
}
}
?> <form action="check2.php" method="post">
<input type="text" name="check"/>
<img src="check1.php" alt="" onclick="refreshImg()" id="chk" style="cursor: pointer"/>
<br/> <input type="submit" value="提交"/>
</form>
<script>
function refreshImg(){
// 声明一个rand,是为了防止除谷歌以外的不兼容刷新问题
var rand = Math.round(Math.random()*10000);
var chk = document.getElementById("chk");
chk.src = "check1.php?num="+rand;
}
</script>
</body>
</html>
随机一个有数字和字母的字符串:
$Arr = array(
'q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m',
'1','2','3','4','5','6','7','8','9','0'
);
$rand=""; for($i=1;$i<=4;$i++){
$rand.= $Arr[rand(0,count($Arr)-1)];
}
echo $rand;
About_PHP_验证码的生成的更多相关文章
- ImageUtil(验证码数据生成工具类)
登录界面时,常常会使用到验证码图片生成,程序如下: package util; import java.awt.Color; import java.awt.Font; import java.awt ...
- 把验证码和生成时间负值给$_SESSION[vCode]生成图像给浏览器
php 图片 中文验证码 <img src="verify_image.php" alt="点此刷新验证码" name="verify_code ...
- 验证码图片生成工具类——Captcha.java
验证码图片生成工具,使用JAVA生成的图片验证码,调用getRandcode方法获取图片验证码,以流的方式传输到前端页面. 源码如下:(点击下载 Captcha.java) import java. ...
- MVC中验证码的生成
在项目中验证码的生成通常是需要页面无刷新的,所以验证码图片实际是跟在某个input后面的img,通过控制该img来控制验证码显示的位置,例如: <div> <input id=&qu ...
- Android开发中验证码的生成
近期在做电商金融类的项目,验证码的生成方法不可缺少.先学习了一种.经过測试好用.从别处学习的代码,稍修改了一下可选择是否支持识别大写和小写.直接上代码. import android.app.Acti ...
- python随机图片验证码的生成
Python生成随机验证码,需要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创建图片 1 2 3 4 5 6 7 8 9 from PIL import Im ...
- 深度学习之卷积神经网络(CNN)的应用-验证码的生成与识别
验证码的生成与识别 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10755361.html 目录 1.验证码的制 ...
- java生成随机六位数的验证码&随机生成十位数ValidCode码,用于邮件的验证&检查是不是符合为合法的中国的手机号码
package com.demo.test1; import java.security.NoSuchAlgorithmException; import java.security.SecureRa ...
- Django之动态验证码的生成
kind.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
随机推荐
- SQL Server遍历表的几种方法
在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易懂,但是它不符合面向集合操作的原则,而且性能也比面向集合低.当然,从面向集合操作的 ...
- svn 版本转为git
git clone 相当于git init 和 git svn fetch.git svn rease git svn fetch 从svn服务器取指定区间的版本转化成git库 git svn reb ...
- js创建,获取,检测cookie
- ReactiveCocoa源码拆分解析(六)
(整个关于ReactiveCocoa的代码工程可以在https://github.com/qianhongqiang/QHQReactive下载) RAC为了实现优雅的信号绑定,可谓使尽浑身解数,不仅 ...
- shell--3.运算符
1.注意 原生bash不支持简单的数学运算,但是可以用其它命令来实现如 awk 和expr ,expr最常用 val=`expr 2 + 3` echo "结果 ${val}" # ...
- git 简单使用
创建新分支:git branch branchName 切换到新分支:git checkout branchName 然后 ,上面两个命令也可以合成为一个命令: git checkout -b bra ...
- Zookeeper异常ConnectionLossException解决
项目中要求做一个将配置文件读取到zookeeper节点上的工具: 开发代码如下: 但是当连接到远端的Zookeeper服务之后,出现了下面异常: Exception in thread "m ...
- 如何查找本地的ip
输入cmd调出指令框然后输入ipconfig指令用快捷键ctrl右侧的键+R
- JS date常用代码积累
Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+& ...
- ACM-ICPC如何起步
刚刚绝定投身ACM-ICPC的同学先要过两关. 第一关:程序设计语言 如果学校有开设相关课程,则省去了很多麻烦.如果没有则可以选择<程序设计导引及在线实践>作为教材.现在的比赛中允许使用的 ...