导航:首页 > 动漫图片 > 图片验证码怎么实现

图片验证码怎么实现

发布时间:2022-08-10 13:52:21

Ⅰ PHP 绘制网站登录首页图片验证码

几乎所有的网站登录页都会有验证码,验证码是一种安全保护机制,在注册时要求必须有人工操作进行验证,用于防止垃圾注册机大量注册用户账号占用服务器内存从而使服务器瘫痪。
图片验证码的实现十分简单。首先从指定字符集合中随机抽取固定数目的字符,以一种不规则的方法画在画布上,再适当添加一些干扰点和干扰元素,最后将图片输出,一张崭新的验证码就完成了。
先给大家展示下生成的验证码:

点击刷新:

如果大家对实现效果非常满意,请继续往下看。
前端代码如下:
<!DOCTYPE
html>
<html>
<head>
<meta
http-equiv="content-type"
content="text/html;charset=utf-8">
<title>This
is
a
test!</title>
<link
rel="stylesheet"
type="text/css"
href="css/bootstrap.min.css">
</head>
<body>
<form
name="form">
<input
type="text"
placeholder="账号"/><br/>
<input
type="password"
placeholder="密码"/><br/>
<input
type="text"
placeholder="验证码"/>
<img
id="verImg"
src="libs/verification.php"/>
<a
href="#"
class="change"
onclick="changeVer()">点击刷新</a><br/>
<input
type="submit"
value="登录"/>
</form>
<script
type="text/javascript">
//刷新验证码
function
changeVer(){
document.getElementById("verImg").src="libs/verification.php?tmp="+Math.random();
}
</script>
</body>
</html>
php脚本文件验证码的代码如下:
<?php
session_start();
//开启session记录验证码数据
vCode(4,
15);//设置验证码的字符个数和图片基础宽度
//vCode
字符数目,字体大小,图片宽度、高度
function
vCode($num
=
4,
$size
=
20,
$width
=
0,
$height
=
0)
{
!$width
&&
$width
=
$num
*
$size
*
4
/
5
+
15;
!$height
&&
$height
=
$size
+
10;
//设置验证码字符集合
$str
=
"";
//保存获取的验证码
$code
=
''
//随机选取字符
for
($i
=
0;
$i
<
$num;
$i++)
{
$code
.=
$str[mt_rand(0,
strlen($str)-1)];
}
//创建验证码画布
$im
=
imagecreatetruecolor($width,
$height);
//背景色
$back_color
=
imagecolorallocate($im,
mt_rand(0,100),mt_rand(0,100),
mt_rand(0,100));
//文本色
$text_color
=
imagecolorallocate($im,
mt_rand(100,
255),
mt_rand(100,
255),
mt_rand(100,
255));
imagefilledrectangle($im,
0,
0,
$width,
$height,
$back_color);
//
画干扰线
for($i
=
0;$i
<
5;$i++)
{
$font_color
=
imagecolorallocate($im,
mt_rand(0,
255),
mt_rand(0,
255),
mt_rand(0,
255));
imagearc($im,
mt_rand(-
$width,
$width),
mt_rand(-
$height,
$height),
mt_rand(30,
$width
*
2),
mt_rand(20,
$height
*
2),
mt_rand(0,
360),
mt_rand(0,
360),
$font_color);
}
//
画干扰点
for($i
=
0;$i
<
50;$i++)
{
$font_color
=
imagecolorallocate($im,
mt_rand(0,
255),
mt_rand(0,
255),
mt_rand(0,
255));
imagesetpixel($im,
mt_rand(0,
$width),
mt_rand(0,
$height),
$font_color);
}
//随机旋转角度数组
$array=array(5,4,3,2,1,0,-1,-2,-3,-4,-5);
//
输出验证码
//
imagefttext(image,
size,
angle,
x,
y,
color,
fontfile,
text)
@imagefttext($im,
$size
,
array_rand($array),
12,
$size
+
6,
$text_color,
'c:WINDOWSFontssimsun.ttc',
$code);
$_SESSION["VerifyCode"]=$code;
//no-cache在每次请求时都会访问服务器
//max-age在请求1s后再次请求会再次访问服务器,must-revalidate则第一发送请求会访问服务器,之后不会再访问服务器
//
header("Cache-Control:
max-age=1,
s-maxage=1,
no-cache,
must-revalidate");
header("Cache-Control:
no-cache");
header("Content-type:
image/png;charset=gb2312");
//将图片转化为png格式
imagepng($im);
imagedestroy($im);
}
?>
好了,关于小编给大家介绍的php绘制图片验证就给大家介绍这么多,希望对大家有所帮助!

Ⅱ html怎么实现图片验证码

<HTML>
<HEAD>
<TITLE>生成验证码</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function createCode(len)
{
var seed = new Array(
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'0123456789'
); //创建需要的数据数组
var idx,i;
var result = ''; //返回的结果变量
for (i=0; i<len; i++) //根据指定的长度
{
idx = Math.floor(Math.random()*3); //获得随机数据的整数部分-获取一个随机整数
result += seed[idx].substr(Math.floor(Math.random()*(seed[idx].length)), 1);//根据随机数获取数据中一个值
}
return result; //返回随机结果
}

function test() {
var inputRandom=document.getElementById("inputRandom").value;
var autoRandom=document.getElementById("autoRandom").innerHTML;
if(inputRandom==autoRandom) {
alert("通过验证");
} else {
alert("没有通过验证");
}

}
</SCRIPT>
</HEAD>
<BODY>
验证码长度:
<SELECT id="sel">
<option value=1>1</option>
<option value=3>3</option>
<option value=5>5</option>
<option value=7 selected>7</option>
<option value=9>9</option>
</SELECT>
<BR>
<table>
<tr>
<td>验证码:</td>
<td><input type="text" id="inputRandom"></td>
<td><label id="autoRandom" value=""></label><INPUT TYPE="button" VALUE="获取验证码" ONCLICK="autoRandom.innerHTML=createCode(sel.value)"></td>
<td><input type="button" value="验证" onclick="test()"></td>
</tr>

</table>
<script type="text/javascript">
window.onload()=autoRandom.innerHTML=createCode(sel.value);
</script>
</BODY>
</HTML>
分享
本回答

Ⅲ 图片验证码用短信验证码怎么验证

当点击了注册按钮后,前端生成UUID随机值,作为GET请求参数;
后端通过接口接受参数判断是否为空,如果有内容进行下一步,
调用工具类生成验证码图片和内容,
将验证码内容使用redis保存到本地,前端传入的uuid作为key,设置content-type为'image/jpg'
在前端输入图片验证码,点击发送短信时,向后端发送请求,并携带参数手机号,验证码内容,图片ID。
后端校验手机号,UUID,验证码,响应成功。

Ⅳ 图形验证码是什么意思如何偷入

图形验证也是验证码的一种,只是图形验证是为了防止某些破解软件,进行无限尝试破解,图形的话,软件无法识别,或识别的慢,这样更加安全。

图形验证码的输入方式:

方式一:

1、会给一个图形,通常会由字母或数字组成,具体如图所示。

Ⅳ 什么叫图形验证码

图形验证码是些没有规则的图文的组合,是一种区分用户是计算机还是人的公共全自动程序。

验证码一般是防止批量注册的,人眼看起来都费劲,何况是机器。不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰。

例如随机画数条直线,画一些点(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。

(5)图片验证码怎么实现扩展阅读:

其他几种验证码介绍:

1、短信验证码

短信验证码优点在于用户的接受度高,使用成本极低。不过对于短信验证来说,它的传达率和安全性都有待提高。

2、语音验证码

语音验证码即便没有泄露验证码,骗子依然有手段可以通过植入木马等方式获取手机短信验证码。相比短信验证,语音验证是验证码界的PLUS版本。

它是目前通用的短信验证码的升级和补充,大大提升了验证码的安全性,可用于2次确认用户的交易、支付信息等安全要求较高的场景。由于到达率和及时性高,语言验证码同时也可以用于短信验证码无法接收的场景。

3、视频验证码

视频验证码是验证码中的新秀,视频验证码中随机数字、字母和中文组合而成的验证码动态嵌入到MP4,flv等格式的视频中,增大了破解难度。验证码视频动态变换,随机响应,可以有效防范字典攻击、穷举攻击等攻击行为。

Ⅵ 图片文字验证码怎么输入

摘要 ① 字母和数字:按字样打入即可。

Ⅶ 验证码的工作原理是怎样的

验证码的工作原理:

验证码就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰元素,由用户肉眼识别其中的验证码信息,然后输入表单提交网站验证,验证成功后才能使用某项功能。

验证码通常用在用户登录或留言的网页界面中,当用户在浏览器端输入验证码之后,将用户名、密码和验证码等信息提交到服务器,服务器端获取用户的提交之后,判断用户提交的验证码字符与服务器端保存的字符是否相同。如果相同,则通过对用户提交信息的验证;否则将提示没有通过验证的提示信息。

Ⅷ 如何实现验证码图片的验证

这个通常会由五部分组成 一 生成验证码 二 服务器端保存验证码(通常为session) 三 将验让码输出为图片到客户端(也就是浏览器) 四 用户提交表单,表单中包括了验证码 五 服务器分析客户端发送过来的验证码是否服务中保存的一至

Ⅸ 图形验证码怎么输入求解

请问你是哪个软件遇到的哪种图形验证码不会输入呢?

我目前遇到的验证码有如下几种:

1,大小写字母和数字组合,在旁边的文本框中输入答案即可;

2,汉字,在旁边的文本框中输入答案即可;

3,数学题,如:1+贰=?在旁边的文本框中输入答案 3 即可;

4,选择题,如:葡萄藤结是苹果还是葡萄(2个字)?在旁边的文本框中输入答案 葡萄 即可;

5,多选题,如:12306订票网站的,这种是将每一个答案点一下即可;

6,给出几个字和一句话,需要用鼠标拖动的方式使其跟几个字重叠度达到一定比例时通过(这种目前不多见,忘记在哪用过了,找着了再补充);

7,语音验证码,将听到的验证码输入即可(这种目前也不多见,忘记在哪用过了,找着了再补充)。

(9)图片验证码怎么实现扩展阅读:

1.验证码一般是防止批量注册的,人眼看起来都费劲,何况是机器。二像网络贴吧未成为该吧会员发贴要输入验证码大概是防止大规模匿名回帖的发生。目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰,例如随机画数条直线,画一些点(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。 [1]

2.一般注册用户ID的地方以及各大论坛都要输入验证码。

3.常见的验证码:

(1)四位数字和字母,可能都是字母,也可能都是数字,随机的4位字符串,最原始的验证码,验证作用几乎为零。CSDN网站用户登录用的是GIF格式,常用的随机数字图片验证码。图片上的字符比较中规中矩,验证作用比上一个好。

(2)汉字是注册目前最新的验证码,随机生成,打起来比较难,例如QQ申诉页面。

(3)MS的hotmail申请时候的是BMP格式, 随机数字+随机大写英文字母+随机干扰像素+随机位置。

(4)韩文或日文,现在跑跑HF上MS注册要打韩文,增加了难度。

(5)Google的Gmail注册时候的是JPG格式,随机英文字母+随机颜色+随机位置+随机长度。

(6)其他各大论坛的是XBM格式,内容随机。

(7)广告验证码:输入广告中的部分内容即可,特点是可以给网站带来额外收入,也可以使使用者耳目一新。

(8)问题验证码:问题验证码主要是以问答式的形式来进行填写。

Ⅹ JS点击图片后显示验证码 如何实现

最简单的方法你把图一的显示验证码也弄成一个图片,比如叫code.png,上面你的代码就能换成
<img src="code.png" onclick="this.src ={$maccms.path_tpl}picture/captcha.png"

阅读全文

与图片验证码怎么实现相关的资料

热点内容
怎么把word转换为图片 浏览:900
动漫图片绘画女生 浏览:513
宝时捷手表价格图片 浏览:90
漫画图片胖子男生 浏览:598
五菱宏光盖子怎么打开图片 浏览:99
动漫穿越女生可爱图片 浏览:152
女生衬衫西服图片 浏览:660
2017图片大全 浏览:298
皇帝动漫图片 浏览:771
好看的中卷发发型图片 浏览:727
蓝色跆拳道服女孩踢腿图片 浏览:757
动漫动物图片黑白 浏览:183
简笔人物可爱小女孩的图片有颜色 浏览:288
康桥文字图片 浏览:540
word里怎么插图片后不改变 浏览:418
女生喝酒伤感图片 浏览:362
微信天凉了加衣服图片 浏览:849
怎么还原平板图片 浏览:506
怎么用word插入图片并在下方标字 浏览:70
ai如何拉图片不变形 浏览:24