About_PHP_验证码的生成
验证码就是一张图片,用到几个关键字:
1 <?php 2 3 session_start(); 4 $arr = array( 5 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x', 6 'y','z','0','1','2','3','4','5','6','7','8','9' 7 ); 8 $rand = ""; 9 for($i=1;$i<=4; $i++){ 10 $rand .= $arr[rand(0,count($arr)-1)]; 11 } 12 $_SESSION['check_pic'] = $rand; 13 //生成图片 14 $im = imagecreatetruecolor(100,30); 15 16 //生成颜色,当第一次调用生成颜色的方法,是生成背景颜色(三原色) 17 $bg = imagecolorallocate($im,0,0,0); 18 19 //第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色(三原色) 20 $te = imagecolorallocate($im,255,255,255); 21 22 //在图片上面生成文字 23 //rand(1,5):随机5种字体1-5 24 //rand(3,70):随机文字出现的X轴坐标 25 //rand(3,15):随机文字出现的Y轴坐标 26 //$rand:随机出现的字 27 //$te:采用字体颜色 28 imagestring($im,rand(1,5),rand(3,70),rand(3,15),$rand,$te); 29 30 //要把php当成图片输出,必须给文件一个头申明,jpeg 31 header("Content-type:image/jpeg"); 32 33 //最终生成图片 34 imagejpeg($im); 35 36 ?>
通常,验证码是需要验证的:
<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="" οnclick="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>
随机一个有数字和字母的字符串:
1 $Arr = array( 2 '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', 3 '1','2','3','4','5','6','7','8','9','0' 4 ); 5 $rand=""; 6 7 for($i=1;$i<=4;$i++){ 8 $rand.= $Arr[rand(0,count($Arr)-1)]; 9 } 10 echo $rand;
转载于:https://www.cnblogs.com/a-moemiss/p/3726838.html
About_PHP_验证码的生成相关推荐
- 验证码画布生成以及点击图片切换验证码
//这个验证码画布生成是师兄写的,不是本人写的 1 package com.didinx.common; 2 3 import javax.imageio.ImageIO; 4 import java ...
- java 生成校验验证码_java生成验证码并进行验证
一实现思路使用BufferedImage用于在内存中存储生成的验证码图片使用Graphics来进行验证码图片的绘制,并将绘制在图片上的验证码存放到session中用于后续验证 最后通过ImageIO将 ...
- html获取随机字母,JavaScript实现4位随机验证码的生成
这篇文章主要为大家详细介绍了JavaScript实现4位随机验证码的生成,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了JavaScript生成4位 ...
- 随机验证码的生成(手机或者邮箱验证码)
最近在做短信验证和邮箱验证,就写了个随机验证码的工具类 public class Randomutil { private Randomutil() { } // 获取6位随机验证码 public s ...
- JAVA手机验证码的生成简单实现
public String generator(String tele){//利用哈希值生成验证码int hash =tele.hashCode();//加密int encryption= 20206 ...
- SpringBoot2后端项目-验证码图片生成
目录 1.项目创建 1.1 初始化的 pom.xml文件 1.2 应用初始化设置 2.验证码生成前的准备 2.1 分析 2.2 整合 redis 2.3 验证码生成的工具类 2.4 定义一个统一返回给 ...
- 二维码及验证码的生成
二维码生成: public static void main(String[] args) {String message = "http://doc.canglaoshi.org" ...
- 验证码的生成及简单效果展示(Java篇)
验证码的生成及简单效果展示 前言 一.验证码的生成 1,验证码生成的原理 2,验证码生成步骤 3,代码演示 二.验证码效果演示 1,前端代码展示 2,效果展示 总结 前言 提示:本文设计语言实现Jav ...
- 从零开始的Django框架入门到实战教程(内含实战实例) - 08 用户界面(内含图形验证码的生成和校验详解)(学习笔记)
目录 0. 既有工作 1. 生成图片 2. 校验 3. 结果展示 Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他 ...
最新文章
- 传蔚来计划回国内科创板上市,关闭硅谷办公室
- 覆盖与重载与隐藏——SAP电面(3)
- 数据流中的中位数,我轻敌了
- 15.5 匿名内部类
- html单张图片效果,jquery+html5实现单张图片上传预览
- __str__是什么函数_PHP str_shuffle()函数与示例
- 准确率(Accuracy) | 查准率(Precision) | 查全率(Recall)
- ---转载---phython资料
- Ue4升级chrome内核
- 山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。
- com词根词缀_(完整版)词根词缀记忆大全---经典详细的总结
- 【CCNA3】思科基本命令汇总+网线线序
- 2016年虾神公众号预告
- java实现wife链接硬件_【技术分享】在Android 910上面实现WIFI功能
- 一代少年黑客菜霸的传奇,曾调戏天涯吊打腾讯
- 周鸿祎给360员工的一份信:不做打工者
- Python入门第7课——tuple变量(只读课堂)
- 2020身高体重标准表儿童_儿童身高体重对照表下载-2020儿童身高体重标准表最新版高清版 - 极光下载站...
- 字蛛压缩ttf字体(前端常用)
- 2022秋 | PTA编程训练(二)
热门文章
- 作为一个新手程序员该如何成长?
- 用node.js给图片加水印
- 【ANDROID游戏开发之六】在SURFACEVIEW中添加系统控件,并且相互交互数据!
- 分享:TreeFrog 1.1 发布,C++ Web 应用开发框架
- mysql 表名通配符导出,mysqldump只有某些前缀/ Mysqldump通配符的表?
- ansible 容器部署_如何使用Ansible Container管理Linux容器
- 云中数据_简化云中的应用程序开发
- docker云计算_为什么Docker成为虚拟化和云计算的新热潮?
- jggrid使用multiselect时修改默认排序
- Python笔记(5) 变量类型