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=" ...
随机推荐
- js闭包的作用域以及闭包案列的介绍:
转载▼ 标签: it js闭包的作用域以及闭包案列的介绍: 首先我们根据前面的介绍来分析js闭包有什么作用,他会给我们编程带来什么好处? 闭包是为了更方便我们在处理js函数的时候会遇到以下的几 ...
- tyvj1202 数数食物链
描述 TsyD学习了生物的生态环境那一张后,老师留了一项作业,就是给一张食物网,求所有食物链的总数.(从最低营养级生物(它不能吃任何其他的生物)开始到最高营养级(它不能被任何其他生物吃) 叫做一条食物 ...
- tyvj1014 乘法游戏
描述 乘法游戏是在一行牌上进行的.每一张牌包括了一个正整数.在每一个移动中,玩家拿出一张牌,得分是用它的数字乘以它左边和右边的数,所以不允许拿第1张和最后1张牌.最后一次移动后,这里只剩下两张牌. ...
- popoverPresentationController UIPopoverController 使用方法详解
之前iPad特有的控件,现在iPhone亦可使用. 点击按钮,弹出popOverVC. 按钮的点击事件: - (IBAction)pickOrderAction:(UIButton *)sender ...
- ABAP 分货日报表
*&---------------------------------------------------------------------* *& Report ZSDR031 ...
- maven install 构建报错(2)
错误:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin: 2.3 . 2 :compile ( default ...
- LeetCode 26 Remove Duplicates from Sorted Array
Problem: Given a sorted array, remove the duplicates in place such that each element appear only onc ...
- CDN -- 集合
weui https://cdnjs.cloudflare.com/ajax/libs/weui/0.4.3/style/weui.min.css 百度静态资源库 http://cdn.code.ba ...
- VS2010+C#+EmguCV 配置详解
在VS2010(VC10)中配置能使用C#开发语言调用Open CV视觉库的方法如下.众所周知,能供C#使用的OpenCV库叫:Emgu CV.注意用C#开发的话,是不需要单独安装OpenCV的,em ...
- nmon的安装
安装 mkdir /usr/local/nmon cd /usr/local/nmon wget http://sourceforge.net/projects/nmon/files/nmon_lin ...