




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
adodb.stream对象的方法/属性 eniac,2005-01-05 11:17:48Cancel 方法使用方法如下 Object.Cancel说明:取消执行挂起的异步 Execute 或 Open 方法的调用。Close方法使用方法如下Object.Close:关闭对像CopyTo 方法使用方法如下Object.CopyTo(destStream,CharNumber)说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。Flush方法使用方法如下Object.Flush说明:LoadFromFile 方法使用方法如下Object.LoadFromFile(FileName)说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。Open方法 使用方法如下Object.Open(Source,Mode,Options,UserName,Password)说明:打开对像,参数说明:Sourece 对像源,可不指定Mode 指定打开模式,可不指定,可选参数如下:adModeRead=1adModeReadWrite =3adModeRecursive =4194304adModeShareDenyNone =16adModeShareDenyRead =4adModeShareDenyWrite =8adModeShareExclusive =12adModeUnknown=0adModeWrite=2Options 指定打开的选项,可不指定,可选参数如下:adOpenStreamAsync =1adOpenStreamFromRecord =4adOpenStreamUnspecified=-1UserName 指定用户名,可不指定。Password 指定用户名的密码Read方法使用方法如下:Object.Read(Numbytes)说明:读取指定长度的二进制内容。参数说明:Numbytes指定的要读取的找度,不指定则读取全部。ReadText方法 使用方法如下:Object.ReadText(NumChars)说明:读取指定长度的文本参数说明:NumChars指定的要读取的找度,不指定则读取全部。SaveToFile方法 使用方法如下:Object.SaveToFile(FileName,Options)说明:将对像的内容写到FileName指定的文件中参数说明:FileName指定的文件Options 存取的选项,可不指定,可选参数如下:adSaveCreateNotExist=1adSaveCreateOverWrite =2SetEOS方法使用方法如下:Object.setEOS()说明:SkipLine方法使用方法如下:Object.SkipLine()说明:Write方法使用方法如下:Object.Write(Buffer)说明:将指定的数据装入对像中。参数说明:Buffer 为指定的要写入的内容。WriteText方法使用方法如下:Object.Write(Data,Options)说明:将指定的文本数据装入对像中。参数说明:Data 为指定的要写入的内容。Options 写入的选项,可不指定,可选参数如下:adWriteChar=0adWriteLine=1有下列属性:Charset EOS 返回对像内数据是否为空。LineSeparator 指定换行格式,可选参数有adCR=13adCRLF=-1adLF=10Mode 指定或返加模式。Position 指定或返加对像内数据的当前指针。Size 返回对像内数据的大小。State 返加对像状态是否打开。Type 指定或返回的数据类型,可选参数为:adTypeBinary=1adTypeText=2小男,2005-01-05 11:20:53嗯。这个支持 eniac,2005-01-05 11:29:22彩色校验码的制作方法要读懂这些代码主要是要了解ASP中操作二进制数据的对象ADODB.Stream!本程序主要用的就是Adodb.Stream,如果你有这个基础,就可以进一步添加更多的功能如加入杂点,渐变底色,数字行列错位,笔画短点,提高被ocr识别的不可能。目前还没有好的识别引擎,昨天下载了个号称能识别图像验证码90%的,把4321识别成 89910,所以图像码还是比较安全的。在网上看到有暴力破解的方法,如果我用图像附加码+禁止外部提交+10次密码错误封帐号 +50次密码错误琐死IP+10秒的防刷新间隔注册页,登陆页均要加上+禁止外部提交,这样,暴力破解应该就没戏了。Asp文件:Code.Asp数据文件:body.Fix , Head.Fix演示:本站PHP故无演示用法: 下载:点击下载稍微修改一下代码,给一个可以自己修改数字的版本:点击下载,用图像软件打开 body.bmp 直接编辑自己需要的字体和颜色! code.asp文件:Response.buffer = trueNumCodeFunction NumCode()Response.Expires = -1Response.AddHeader Pragma,no-cacheResponse.AddHeader cache-ctrol,no-cachedim zNum,i,jdim Ados,Ados1Randomize timer生成随机四位数字:zNum = cint(8999*Rnd+1000)传递给sessionSession(GetCode) = zNum该for循环是将随机数字放入一个下标3的数组,便于提供给后面的阵列变换dim zimg(3),NStrNStr=cstr(zNum)For i=0 to 3zimg(i)=cint(mid(NStr,i+1,1)Nextdim Pos定义二个 ADODB.Stream binary对象,作图像数据操作之用:set Ados=Server.CreateObject(Adodb.Stream)Ados.Mode=3Ados.Type=1Ados.Openset Ados1=Server.CreateObject(Adodb.Stream)Ados1.Mode=3Ados1.Type=1Ados1.Open载入09的数字数据10x100的,Gbr的阵列数据,每个320字节,10个数字3200byteBGR一个点,10x10个点一个数字,一个点三个字节(二进制8位,16进制 00FF)一行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 3Ados.Position=(9-zimg(i)*320Ados1.Position=i*320Ados1.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 1for j=0 to 3Ados1.Position=i*32+j*320Ados.Position=Pos+30*j+i*120Ados.write ados1.read(30)nextnextAdos.Position=0response.BinaryWrite 直接向客户端发送图像数据Response.ContentType = image/BMPResponse.BinaryWrite Ados.read()Ados.Close:set Ados=nothingAdos1.Close:set Ados1=nothingEnd Function运用在页面中:提交页:-login.asp-帐号:密码:校验码:处理页:-chklogin.asp-%dim GetCode,valicodeGetCode=int(request(GetCode)valicode=int(Session(GetCode)if GetCodevalicode thenresponse.write (验证码输入错误,请重输入)response.endend if% Vsun2008,2005-01-05 11:33:38记号 eniac,2005-01-05 14:29:58关于Adodb.Stream的写数据库数据到客户端这是一个从服务器数据库直接下数据到客户端文件的例子,文件名和扩展名可以根据需要随便写。new/temp.htm要求真实存在,其实没有什么作用,只是引导一下,否则不能对stram数据进行写操作。网络上流传的这方面的东西不少,但多数是copy来的,很简单的事情搞得那么复杂。真正经过实践的东东少得可怜。于是自己写了一个,虽然简单,也有些问题,但是copy下去就可以用了。有问题的朋友可以跟我联系,好一起学习。filemystream=server.mappath(new) & temp.htm Set MyStream=Server.CreateObject(Adodb.Stream)MyStream.Type = 1MyStream.Mode=3MyStream.OpenMyStream.LoadFromFile(filemystream)Response.ContentType=application/octet-stream Response.AddHeader Content-Disposition:,attachment; filename= & bk.txt Range=Mid(Request.ServerVariables(HTTP_RANGE),7)response.write 姓名response.write 账号response.write 地址response.write 说明 cr=chr(13)&chr(10)response.write
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南师范大学附属小学第二轮非事业编制教师招聘4人模拟试卷及答案详解(典优)
- 2025年广东省建设项目合同范本
- 2025嘉兴市鑫茂物资调剂市场有限责任公司招聘1人考前自测高频考点模拟试题及答案详解(新)
- 2025授权书之房屋买卖委托合同样本
- 2025年合肥长丰县北城世纪城第一小学招聘教师考前自测高频考点模拟试题(含答案详解)
- 2025湖北鄂州华容区城市建设投资有限公司面向社会招聘4人模拟试卷带答案详解
- 2025广西-东盟经济技术开发区社会福利院拟聘人员模拟试卷及答案详解(考点梳理)
- 2025兴义市采购担保合同
- 2025广东韶关市始兴县青年就业见习基地招募见习人员4人考前自测高频考点模拟试题及答案详解(有一套)
- 2025北京市海淀区育鹰小学教师招聘5人考前自测高频考点模拟试题带答案详解
- 人工智能技术及应用 第2版 课件全套 程显毅 第1-7章 人工智能时代 -人工智能应用
- 国庆中秋课件
- 艾滋病合并马尔菲青霉菌感染
- 乡镇卫生院检验检查分级管理制度
- 科技金融管理课件下载
- 国内道路运输安全管理培训指南
- 大健康连锁店商业计划书
- 停车场突发事件应急处理预案
- 腹壁切口疝课件
- 《人工神经网络设计 》 课件 第3、4章 感知器;径向基函数神经网络
- 幼儿园培训返岗汇报
评论
0/150
提交评论