当前位置:首页 > 代码 > 正文

asp数字验证码代码(asp短信验证码代码)

admin 发布:2022-12-19 19:05 155


本篇文章给大家谈谈asp数字验证码代码,以及asp短信验证码代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用asp怎么编写验证码?

使用ASP生成图片彩色校验码

49行代码,三个文件

Asp文件:Code.Asp

数据文件:body.Fix , Head.Fix

用法:img src="code.asp"

%

Option Explicit

Response.buffer=true

NumCode

Function NumCode()

Response.Expires = -1

Response.AddHeader "Pragma","no-cache"

Response.AddHeader "cache-ctrol","no-cache"

dim zNum,i,j

dim Ados,Ados1

Randomize timer

zNum = cint(8999*Rnd+1000)

Session("GetCode") = zNum

dim zimg(4),NStr

NStr=cstr(zNum)

For i=0 to 3

zimg(i)=cint(mid(NStr,i+1,1))

Next

dim Pos

set Ados=Server.CreateObject("Adodb.Stream")

Ados.Mode=3

Ados.Type=1

Ados.Open

set Ados1=Server.CreateObject("Adodb.Stream")

Ados1.Mode=3

Ados1.Type=1

Ados1.Open

Ados.LoadFromFile(Server.mappath("body.Fix"))

Ados1.write Ados.read(1280)

for i=0 to 3

Ados.Position=(9-zimg(i))*320

Ados1.Position=i*320

Ados1.write ados.read(320)

next

Ados.LoadFromFile(Server.mappath("head.fix"))

Pos=lenb(Ados.read())

Ados.Position=Pos

for i=0 to 9 step 1

for j=0 to 3

Ados1.Position=i*32+j*320

Ados.Position=Pos+30*j+i*120

Ados.write ados1.read(30)

next

next

Response.ContentType = "image/BMP"

Ados.Position=0

Response.BinaryWrite Ados.read()

Ados.Close:set Ados=nothing

Ados1.Close:set Ados1=nothing

End Function

' Asp code Created by BlueIdea.COM Web Team V37 2003-7-25

%

代码解释:

Response.buffer=true

NumCode

Function NumCode()

Response.Expires = -1

Response.AddHeader "Pragma","no-cache"

Response.AddHeader "cache-ctrol","no-cache"

dim zNum,i,j

dim Ados,Ados1

Randomize timer

生成随机四位数字:

zNum = cint(8999*Rnd+1000)

传递给session

Session("GetCode") = zNum

该for循环是将随机数字放入一个下标3的数组,便于提供给后面的阵列变换

dim zimg(3),NStr

NStr=cstr(zNum)

For i=0 to 3

zimg(i)=cint(mid(NStr,i+1,1))

Next

dim Pos

'定义二个 ADODB.Stream binary对象,作图像数据操作之用:

set Ados=Server.CreateObject("Adodb.Stream")

Ados.Mode=3

Ados.Type=1

Ados.Open

set Ados1=Server.CreateObject("Adodb.Stream")

Ados1.Mode=3

Ados1.Type=1

Ados1.Open

'载入0~9的数字数据10x100的,Gbr的阵列数据,每个320字节,10个数字3200byte

'BGR一个点,10x10个点一个数字,一个点三个字节(二进制8位,16进制 00~FF)

'一行10个点 30字节 + 行结束标记 00 00 二字节 32字节,所以一个10x100宽小于长的图像每个数字10x10是320字节

'长大于宽的则无行结束标记 0000,直接是300字节

这些就是BMP 24bit的数据详细信息了

‘至于头部,也很简单,包含长宽,图像开始标记等等~~才54字节,远没jpg什么的复杂

Ados.LoadFromFile(Server.mappath("body.Fix"))

Ados1.write Ados.read(1280)

'第一个for循环,按生成的随机数字顺序从 10X100的数字阵列中提取出相应的四个数字

但是竖排的数字阵列

for i=0 to 3

Ados.Position=(9-zimg(i))*320

Ados1.Position=i*320

Ados1.write ados.read(320)

next

'清空已经用完的ADOS的数据,调入替换新的图像头54字节的头文件

Ados.LoadFromFile(Server.mappath("head.fix"))

Pos=lenb(Ados.read())

Ados.Position=Pos '指定Pos位置,即可再偏移54字节的位置添加图形数据

第二个for循环,进行数字的阵列变换,由竖排的块转换为横排的数字块

方法是隔320字节抽取4次30字节写入ados对象,再抽取偏移第二行的图像数据

30字节是因为bmp 宽大于长时无00 00的行结束标记

for i=0 to 9 step 1

for j=0 to 3

Ados1.Position=i*32+j*320

Ados.Position=Pos+30*j+i*120

Ados.write ados1.read(30)

next

next

Ados.Position=0

response.BinaryWrite直接向客户端发送图像数据

Response.ContentType = "image/BMP"

Response.BinaryWrite Ados.read()

Ados.Close:set Ados=nothing

Ados1.Close:set Ados1=nothing

End Function

数字和字母组合并生成图片的验证码祥解

大家经常在网上登陆的时候经常会看到让你输入验证码,有的是文字的,有的呢是图片,比如chinaren.com校友录中留言的时候,我们就会看到数字图片验证码;网上关于数字文字验证码实现方法的相关资料很多,而我们这里介绍的是数字和字母随机组成的并且生成图片的验证码的实现方法。看起来很复杂、其实很简单的,大家跟着我往下看:

首先,我们先介绍一下设计思路,数字和字母的随机组合生成验证码,然后将验证码生成图片,这里“数字和字母的组合”应该是随机取出来的;如果是专门的数字验证码,我们可以这样实现:

ycodenum=4 '验证码的位数,或者说成个数

for i=1 to ycodenum

Randomize '初始化随机数发生器

ycode=ycodeInt((9*Rnd)) 'rnd是随机数,从0到1之间的任意实数,这里获得0到9之间的整数

next

response.write ycode '就可以输出数字验证码(4位)

然而,我们要让数字和字母同样随机生成,这里我们可以用到数组来实现这种效果,如下:

ychar="0,1,2,3,4,5,6,7,8,9,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" '将数字和大写字母组成一个字符串

yc=split(char,",") '将字符串生成数组

ycodenum=4

for i=1 to ycodenum

Randomize

ycode=ycodeyc(Int((35*Rnd))) '数组一般从0开始读取,所以这里为35*Rnd

next

response.write ycode

现在看看输出结果是不是数字和字母随机组合的呢?

下面看看怎样生成图片,这个也许有些朋友知道:asp不能生成图片,必须使用asp组件。不错,我们这里使用的是ASP图象组件shotgraph。有一点大家注意,服务器不是自己的不能用哦,因为你装不了这组件。

组件的下载地址:,至于怎么注册,这里就不多说了,网上有很多资料

我们看看生成图片的代码:

ychar="0,1,2,3,4,5,6,7,8,9,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" '将数字和大写字母组成一个字符串

yc=split(char,",") '将字符串生成数组

ycodenum=4

for i=1 to ycodenum

Randomize

ycode=ycodeyc(Int((35*Rnd))) '数组一般从0开始读取,所以这里为35*Rnd

next

Response.Clear

Response.ContentType="image/gif"

set obj=Server.CreateObject("shotgraph.image")

x=55 '图片的宽

y=26 '图片的高

obj.CreateImage x,y,8 '8是图片的颜色8位

obj.SetColor 0,55,126,222

obj.SetColor 1,255,255,255

obj.CreatePen "PS_SOLID",1,0

obj.SetBgColor 0

obj.Rectangle 0,0,x-1,y-1

obj.SetBkMode "TRANSPARENT"

obj.CreateFont "Arial",136,18,1,False,False,False,False

obj.SetTextColor 1

obj.TextOut 5,4,ycode" "

img=obj.GifImage(-1,1,"")

Response.BinaryWrite (img)

针对以上代码也就是说shotgraph普通的画图的原理请参考:

如何写ASP代码检验验证码?

新建个Code.asp,内容为 % Option Explicit Response.buffer=true NumCode Function NumCode() Response.Expires = -1 Response.AddHeader "Pragma"�6�5"no-cache" Response.AddHeader "cache-ctrol"�6�5"no-cache" dim zNum�6�5i�6�5j dim Ados�6�5Ados1 Randomize timer zNum = cint(8999*Rnd+1000) Session("GetCode") = zNum dim zimg(4)�6�5NStr NStr=cstr(zNum) For i=0 to 3 zimg(i)=cint(mid(NStr�6�5i+1�6�51)) Next dim Pos set Ados=Server.CreateObject("Adodb.Stream") Ados.Mode=3 Ados.Type=1 Ados.Open set Ados1=Server.CreateObject("Adodb.Stream") Ados1.Mode=3 Ados1.Type=1 Ados1.Open Ados.LoadFromFile(Server.mappath("images/body.Fix")) Ados1.write Ados.read(1280) for i=0 to 3 Ados.Position=(9-zimg(i))*320 Ados1.Position=i*320 Ados1.write ados.read(320) next Ados.LoadFromFile(Server.mappath("images/head.fix")) Pos=lenb(Ados.read()) Ados.Position=Pos for i=0 to 9 step 1 for j=0 to 3 Ados1.Position=i*32+j*320 Ados.Position=Pos+30*j+i*120 Ados.write ados1.read(30) next next Response.ContentType = "image/BMP" Ados.Position=0 Response.BinaryWrite Ados.read() Ados.Close:set Ados=nothing Ados1.Close:set Ados1=nothing End Function % 再需要输出验证码的地方写 img src=Code.asp

关于ASP验证码代码的问题!!!

If Trim(Request.Form("validatecode"))=Empty Or Trim(Session("cnbruce.com_ValidateCode"))Trim(Request.Form("validatecode")) Then

多了个 Then

这条整个是一句,放到同一排。。。。。

asp验证码代码

下载一个;url=code.asp页面,要不给你发个然后在页面里面适当地方加入

lilabel验证码:input

name="code"

id="codestr"

type="text"

size="10"

maxlength="4"

/img

id="ob_codeimg"

src=";url=code.asp"

style="cursor:hand;vertical-align:top;"

onclick="this.src=';url=code.asp?t='+

Math.random();"

alt="看不清?点一下"

/

需要验证的时候:

request.form("code")

获取表单用户填写的code

session("code")

';url=code.asp生成的验证码

--

(建议打开;url=code.asp文件确认session命名?)

ASP验证码怎么写越详细越好

这个问题我知道啊

大概需要4 5 个文件, 代码很多, 实例在我给的连接里可以下载, 这样基本能解决了 LZ给分吧

其中一共用到5个文件(以登录为例).验证页面login.asp,产生验证码的页面getcode.asp,登陆页面的提交页面main.asp和两个数字

图像文件--body.fix和head.fix

其中getcode.asp 文件的代码为:

下面是获得验证码的函数文件,保存文件为getcode.asp

%

Option Explicit

Response.buffer=true

NumCode

Function NumCode()

Response.Expires = -1

Response.AddHeader "Pragma","no-cache"

Response.AddHeader "cache-ctrol","no-cache"

dim zNum,i,j

dim Ados,Ados1

Randomize timer

zNum = cint(8999*Rnd+1000)

Session("GetCode") = zNum

dim zimg(4),NStr

NStr=cstr(zNum)

For i=0 to 3

zimg(i)=cint(mid(NStr,i+1,1))

Next

dim Pos

set Ados=Server.CreateObject("Adodb.Stream")

Ados.Mode=3

Ados.Type=1

Ados.Open

set Ados1=Server.CreateObject("Adodb.Stream")

Ados1.Mode=3

Ados1.Type=1

Ados1.Open

Ados.LoadFromFile(Server.mappath("images/body.Fix"))

Ados1.write Ados.read(1280)

for i=0 to 3

Ados.Position=(9-zimg(i))*320

Ados1.Position=i*320

Ados1.write ados.read(320)

next

Ados.LoadFromFile(Server.mappath("images/head.fix"))

Pos=lenb(Ados.read())

Ados.Position=Pos

for i=0 to 9 step 1

for j=0 to 3

Ados1.Position=i*32+j*320

Ados.Position=Pos+30*j+i*120

Ados.write ados1.read(30)

next

next

Response.ContentType = "image/BMP"

Ados.Position=0

Response.BinaryWrite Ados.read()

Ados.Close:set Ados=nothing

Ados1.Close:set Ados1=nothing

End Function

%

man.asp的代码如下:

%if request("verifycode")="" then

response.Write "script LANGUAGE=javascriptalert(请输入验证码!);history.go(-1);/script"

response.end

end if

if cstr(session("getcode"))cstr(trim(request("verifycode"))) then

response.Write "script LANGUAGE=javascriptalert('请输入正确的验证码!');/script"

response.write "meta http-equiv=refresh content=""1;URL=login.asp"""

response.end

end if%

其中login.asp种调用验证码的代码为:

img src="getcode.asp" /

asp数字验证码代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于asp短信验证码代码、asp数字验证码代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/19308.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载