莫相离 发表于 2015-1-16 22:48:17

ASP网站制作之asp中利用图片考证码的办法

ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。考证码Loster(OICQ:181306)假如转载,请勿往失落此行,感谢。

如今很多网站的上岸都必要输出考证码,考证码一样平常都是以图片的情势显现的。如许一来,能进步上岸的平安性,避免暴力猜解暗码。为什么要用图片显现考证码?试想,假如只是天生文本的考证码,破解人能够使用相似于小偷的手艺,先把你这个页面读取,然后剖析出考证码,最初举行暴力猜解。如许的话,考证码就没有任何实践意义了。空话少说,上面我就入手下手说一说如何完成asp中显现图片考证码。

要完成asp中显现图片考证码,起首必要以下三个文件:

GetCode.asp(用于天生图片考证码)

head.fix(图片头)

body.fix(图片主体)

你大概会问,这些文件我从那里能够失掉呢?毋须着急,这些文件在dvbbs7.0内里有。我也是在研讨了dvbbs7.0内里的考证码以后才学会怎样利用图片考证码的。

起首看getcode.asp文件,内里有几行是如许的:

Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.writeAdos.read(1280)
Fori=0To3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.writeados.read(320)
Next
Ados.LoadFromFile(Server.mappath("head.fix"))

看到body.fix和head.fix了吗?这里指的是他们与getcode.asp的绝对地位。假如他们三个文件在一个目次内里,就依照以上的写法就能够了。假如不是,就必要写出他俩与getcode.asp的绝对地位。好比:假如getcode.asp在根目次下,body.fix&head.fix在根目次下的test文件夹下,那末,下面的代码就需改成:

Ados.LoadFromFile(Server.mappath("test/body.Fix"))
Ados1.writeAdos.read(1280)
Fori=0To3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.writeados.read(320)
Next
Ados.LoadFromFile(Server.mappath("test/head.fix"))

如许,才干包管图片显现的一般。

怎样挪用?

很复杂,只必要如许:

<imgsrc=getcode.aspborder=0>

便可。

每当在挪用getcode.asp以后,会主动天生一个session,这个session存储着和考证图片上显现的一样的四位数字。你只需把吸收到的考证码和这个session对照,然后判别考证码是不是输出准确。固然,最仿佛如许:

IfCstr(Trim(吸收的变量名))=Cstr(Session("GetCode"))Then

Response.Write("OK!")

Else

Response.Write("No!")

EndIf

呵呵,至此,峦瓯稀OM阍诳赐瓯疚暮笥兴舴5比唬救怂接邢蓿闹心衙獬鱿执砦螅队蠹抑刚

有人大概要问,图片能不克不及修正啊,谜底是一定的,网上有相干文章,你能够往查查。

附:http://www.loster.net/aspfile/getcode.rargetcode.asp,head.fix,body.fix文件紧缩包


</p>使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。

活着的死人 发表于 2015-1-17 21:24:12

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

老尸 发表于 2015-1-21 08:43:16

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

小女巫 发表于 2015-1-30 12:39:16

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

柔情似水 发表于 2015-1-30 12:39:16

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

分手快乐 发表于 2015-2-6 11:51:52

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

不帅 发表于 2015-2-16 02:49:36

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

再现理想 发表于 2015-3-4 23:10:48

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

变相怪杰 发表于 2015-3-11 21:17:58

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

再见西城 发表于 2015-3-19 13:43:22

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

admin 发表于 2015-3-28 05:14:10

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
页: [1]
查看完整版本: ASP网站制作之asp中利用图片考证码的办法