仓酷云

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

[学习教程] ASP编程:ASP 考证码(撑持 SP2,防破解)

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

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

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

x
结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。考证码示例:

<p><%
ifisempty(session("getcode"))orsession("getcode")ucase(request.form("form_code"))then
response.write"考证码输出毛病"
response.end
else
session("getcode")=empty"清空session
response.write"考证码输出准确"
response.end
endif
%>
[/code]考证码代码:
<p><%
optionexplicit"显现声明
classcom_gifcode_class
"""""""""""""""""""""""""""""""""""""""""""""
"author:layensupport@ssaw.net84815733(qq)
"thanks:laomi,laomiao,netrube
"2006-01-02
"""""""""""""""""""""""""""""""""""""""""""""
publicnoisy,count,width,height,angle,offset,border
privategraph(),margin(3)
privatesubclass_initialize()
randomize
noisy=16"搅扰点呈现的几率
count=4"字符数目
width=80"图片宽度
height=20"图片高度
angle=2"角度随机变更量
offset=20"偏移随机变更量
border=1"边框巨细
endsub
publicfunctioncreate()
constccharset="123456789"
dimi,x,y
dimvvalidcode:vvalidcode=""
dimvindex
redimgraph(width-1,height-1)
fori=0tocount-1
vindex=int(rnd*len(ccharset))
vvalidcode=vvalidcode+mid(ccharset,vindex+1,1)
setdrawvindex,i
next
create=vvalidcode
endfunction
subsetdot(px,py)
ifpx*(width-px-1)>=0andpy*(height-py-1)>=0then
graph(px,py)=1
endif
endsub
publicsubsetdraw(pindex,pnumber)
"字符数据
dimdotdata(8)
dotdata(0)=array(30,15,50,1,50,100)
dotdata(1)=array(1,34,30,1,71,1,100,34,1,100,93,100,100,86)
dotdata(2)=array(1,1,100,1,42,42,100,70,50,100,1,70)
dotdata(3)=array(100,73,6,73,75,6,75,100)
dotdata(4)=array(100,1,1,1,1,50,50,35,100,55,100,80,50,100,1,95)
dotdata(5)=array(100,20,70,1,20,1,1,30,1,80,30,100,70,100,100,80,_100,60,70,50,30,50,1,60)
dotdata(6)=array(6,26,6,6,100,6,53,100)
dotdata(7)=array(100,30,100,20,70,1,30,1,1,20,1,30,100,70,100,80,_70,100,30,100,1,80,1,70,100,30)
dotdata(8)=array(1,80,30,100,80,100,100,70,100,20,70,1,30,1,1,20,_1,40,30,50,70,50,100,40)
dimvextent:vextent=width/count
margin(0)=border+vextent*(rnd*offset)/100+margin(1)
margin(1)=vextent*(pnumber+1)-border-vextent*(rnd*offset)/100
margin(2)=border+height*(rnd*offset)/100
margin(3)=height-border-height*(rnd*offset)/100
dimvstartx,vendx,vstarty,vendy
dimvwidth,vheight,vdx,vdy,vdeltat
dimvangle,vlength
vwidth=int(margin(1)-margin(0))
vheight=int(margin(3)-margin(2))
"肇端坐标
vstartx=int((dotdata(pindex)(0)-1)*vwidth/100)
vstarty=int((dotdata(pindex)(1)-1)*vheight/100)
dimi,j
fori=1toubound(dotdata(pindex),1)/2
ifdotdata(pindex)(2*i-2)0anddotdata(pindex)(2*i)0then
"尽头坐标
vendx=(dotdata(pindex)(2*i)-1)*vwidth/100
vendy=(dotdata(pindex)(2*i+1)-1)*vheight/100
"横向差异
vdx=vendx-vstartx
"纵向差异
vdy=vendy-vstarty
"倾斜角度
ifvdx=0then
vangle=sgn(vdy)*3.14/2
else
vangle=atn(vdy/vdx)
endif
"两坐标间隔
ifsin(vangle)=0then
vlength=vdx
else
vlength=vdy/sin(vangle)
endif
"随机动弹角度
vangle=vangle+(rnd-0.5)*2*angle*3.14*2/100
vdx=int(cos(vangle)*vlength)
vdy=int(sin(vangle)*vlength)
ifabs(vdx)>abs(vdy)thenvdeltat=abs(vdx)elsevdeltat=abs(vdy)
forj=1tovdeltatASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。
若相依 该用户已被删除
沙发
发表于 2015-1-18 19:29:58 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-23 13:05:30 来自手机 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
飘飘悠悠 该用户已被删除
地板
发表于 2015-1-31 16:00:14 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
谁可相欹 该用户已被删除
5#
发表于 2015-2-6 20:28:34 | 只看该作者
掌握asp的特性而且一定要知道为什么。
柔情似水 该用户已被删除
6#
发表于 2015-2-18 15:03:38 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
小魔女 该用户已被删除
7#
发表于 2015-3-6 08:33:02 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
老尸 该用户已被删除
8#
发表于 2015-3-12 23:57:44 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
海妖 该用户已被删除
9#
发表于 2015-3-20 06:27:24 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 05:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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