仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 445|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网站制作之ASP天生XBM图可用作考证码

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:46:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!xbm|考证码这个程序次要是师长教师成一个随机数,然后依据天生的随机数经由变更后作为XBM图片的内容,最初显现这个图片.考证时中要猎取输出的数字和Session("validatecode")对照,假如相称则经由过程考证(还要注重一下比拟较的两数据的范例坚持分歧)。

怎样显现天生的图片呢?<imgsrc="xbm.asp"></img>

关于XBM图的格局信息,看这里
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39134972,00.htm

xbm.asp的代码以下
程序代码:
<!--#includefile="numcode.asp"-->
<%
开启缓冲
Response.Buffer=True
WithResponse
.Expires=-1
.AddHeader"Pragma","no-cache"
.AddHeader"cache-ctrol","no-cache"
EndWith

Dimnum
Randomize
num=Int(7999*Rnd+2000)
Session("validateCode")=num

DimImage
DimWidth,Height
Dimdigtal
DimLength
Dimsort
Dimhc
Length=4
hc=chr(13)&chr(10)

Redimsort(Length)

digital=""
ForI=1ToLength-Len(num)
digital=digital&"0"
Next
ForI=1ToLen(num)
digital=digital&Mid(num,I,1)
Next
ForI=1ToLen(digital)
sort(I)=Mid(digital,I,1)
Next
Width=8*Len(digital)
Height=10

Response.ContentType="image/x-xbitmap"

Image="#definecounter_width"&Width&hc
Image=Image&"#definecounter_height"&Height&hc
Image=Image&"staticunsignedcharcounter_bits[]={"&hc

ForI=1ToHeight
ForJ=1ToLength
Image=Image&a(sort(J),I)&","
Next
Next

Image=Left(Image,Len(Image)-1)
Image=Image&"};"&hc

Response.WriteImage
%>

Numcode.asp的代码以下:
程序代码:
<%
Dima(10,10)
a(0,1)="0x3c"数字0
a(0,2)="0x66"
a(0,3)="0xc3"
a(0,4)="0xc3"
a(0,5)="0xc3"
a(0,6)="0xc3"
a(0,7)="0xc3"
a(0,8)="0xc3"
a(0,9)="0x66"
a(0,10)="0x3c"
a(1,1)="0x18"数字1
a(1,2)="0x1c"
a(1,3)="0x18"
a(1,4)="0x18"
a(1,5)="0x18"
a(1,6)="0x18"
a(1,7)="0x18"
a(1,8)="0x18"
a(1,9)="0x18"
a(0,10)="0x7e"
a(2,1)="0x3c"数字2
a(2,2)="0x66"
a(2,3)="0x60"
a(2,4)="0x60"
a(2,5)="0x30"
a(2,6)="0x18"
a(2,7)="0x0c"
a(2,8)="0x06"
a(2,9)="0x06"
a(2,10)="0x7e"
a(3,1)="0x3c"数字3
a(3,2)="0x66"
a(3,3)="0xc0"
a(3,4)="0x60"
a(3,5)="0x1c"
a(3,6)="0x60"
a(3,7)="0xc0"
a(3,8)="0xc0"
a(3,9)="0x66"
a(3,10)="0x38"
a(4,1)="0x38"数字4
a(4,2)="0x3c"
a(4,3)="0x36"
a(4,4)="0x33"
a(4,5)="0x33"
a(4,6)="0x33"
a(4,7)="0xff"
a(4,8)="0x30"
a(4,9)="0x30"
a(4,10)="0xfe"
a(5,1)="0xfe"数字5
a(5,2)="0xfe"
a(5,3)="0x06"
a(5,4)="0x06"
a(5,5)="0x3e"
a(5,6)="0x60"
a(5,7)="0xc0"
a(5,8)="0xc3"
a(5,9)="0x66"
a(5,10)="0x3c"
a(6,1)="0x60"数字6asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-19 23:24:22 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
深爱那片海 该用户已被删除
板凳
发表于 2015-1-25 23:13:57 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
因胸联盟 该用户已被删除
地板
发表于 2015-2-4 12:59:13 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
再现理想 该用户已被删除
5#
发表于 2015-2-9 22:46:51 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
蒙在股里 该用户已被删除
6#
发表于 2015-2-28 03:24:25 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-9 20:15:48 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-17 00:46:08 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
只想知道 该用户已被删除
9#
发表于 2015-3-23 10:12:24 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 23:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表