|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。要读懂这些代码次要是要懂得ASP中操纵二进制数据的工具ADODB.Stream!本程序次要用的就是Adodb.Stream,假如你有这个基本,就能够进一步增加更多的功效如到场杂点,突变底色,数字行列错位,笔划短点,进步被ocr辨认的不成能。今朝还没有好的辨认引擎,今天下载了个号称能辨认图象考证码90%的!把4321辨认成89910,以是图象码仍是对照平安的。
在网上看到有暴力破解的办法,假如我用图象附加码+克制内部提交+10次暗码毛病封帐号+50次暗码毛病琐逝世IP+10秒的防革新距离注册页,上岸页均要加上+克制内部提交,如许,暴力破解应当就没戏了。
Asp文件:Code.Asp
数据文件:body.Fix,Head.Fix
下载:点击这里下载源文件
用法:<imgsrc="code.asp">
Response.buffer=true
NumCode
FunctionNumCode()
Response.Expires=-1
Response.AddHeader"Pragma","no-cache"
Response.AddHeader"cache-ctrol","no-cache"
dimzNum,i,j
dimAdos,Ados1
Randomizetimer
天生随机四位数字:
zNum=cint(8999*Rnd+1000)
传送给session
Session("GetCode")=zNum
该for轮回是将随机数字放进一个下标3的数组,便于供应给前面的阵列变更
dimzimg(3),NStr
NStr=cstr(zNum)
Fori=0to3
zimg(i)=cint(mid(NStr,i+1,1))
Next
dimPos
界说二个ADODB.Streambinary工具,作图象数据操纵之用:
setAdos=Server.CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
Ados.Open
setAdos1=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字节+行停止标志0000二字节32字节,以是一个10x100宽小于长的图象每一个数字10x10是320字节
长年夜于宽的则无行停止标志0000,间接是300字节
这些就是BMP24bit的数据具体信息了
‘至于头部,也很复杂,包括长宽,图象入手下手标志等等~~才54字节,远没jpg甚么的庞大
Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.writeAdos.read(1280)
第一个for轮回,按天生的随机数字按次从10X100的数字阵列中提掏出响应的四个数字
可是竖排的数字阵列
fori=0to3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.writeados.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严惩于长时无0000的行停止标志
fori=0to9step1
forj=0to3
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.writeados1.read(30)
next
next
Ados.Position=0
response.BinaryWrite间接向客户端发送图象数据
Response.ContentType="image/BMP"
Response.BinaryWriteAdos.read()
Ados.Close:setAdos=nothing
Ados1.Close:setAdos1=nothing
EndFunction
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, |
|