仓酷云

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

[学习教程] ASP网站制作之一个很复杂的考证码程序

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:19:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。程序|考证码原程序
http://vifo.vicp.net:8088/datalib/ShowTopic.asp?id=108:10:1:1

主程序共三个

我的挪用体例<scriptlanguage="javascript"src="/verify/num.asp"></script>
考证体例iftrim(Loginnum)trim(session("Loginnum"))then
Response.WriteError("考证码毛病!")
Response.End
endif


num.asp

<%
###Toencrypt/decryptincludethiscodeinyourpage
###strMyEncryptedString=EncryptString(strString)
###strMyDecryptedString=DeCryptString(strMyEncryptedString)
###Youarefreetousethiscodeaslongascreditsremaininplace
###alsoifyouimprovethiscodeletmeknow.

PrivateFunctionEncryptString(strString)
####################################################################
###CryptFunction?2001bySlavicKozyukgrindkore@yahoo.com###
###Arguments:strString<---Stringyouwishtoencrypt###
###Output:EncryptedHEXstring###
####################################################################

DimCharHexSet,intStringLen,strTemp,strRAW,I,intKey,intOffSet
RandomizeTimer

intKey=Round((RND*1000000)+1000000)#####KeyBitsize
intOffSet=Round((RND*1000000)+1000000)#####KeyOffSetBitsize

IfIsNull(strString)=FalseThen
strRAW=strString
intStringLen=Len(strRAW)

Fori=0tointStringLen-1
strTemp=Left(strRAW,1)
strRAW=Right(strRAW,Len(strRAW)-1)
CharHexSet=CharHexSet&Hex(Asc(strTemp)*intKey)&Hex(intKey)
Next

EncryptString=CharHexSet&"|"&Hex(intOffSet+intKey)&"|"&Hex(intOffSet)
Else
EncryptString=""
EndIf
EndFunction




PrivateFunctionDeCryptString(strCryptString)
####################################################################
###CryptFunction?2001bySlavicKozyukgrindkore@yahoo.com###
###Arguments:EncryptedHEXstringt###
###Output:DecryptedASCIIstring###
####################################################################
###NotethisfunctionusesHexConv()andget_hxno()functions###
###somakesuretheyarenotremoved###
####################################################################

DimstrRAW,arHexCharSet,I,intKey,intOffSet,strRawKey,strHexCrypData


strRawKey=Right(strCryptString,Len(strCryptString)-InStr(strCryptString,"|"))
intOffSet=Right(strRawKey,Len(strRawKey)-InStr(strRawKey,"|"))
intKey=HexConv(Left(strRawKey,InStr(strRawKey,"|")-1))-HexConv(intOffSet)
strHexCrypData=Left(strCryptString,Len(strCryptString)-(Len(strRawKey)+1))


arHexCharSet=Split(strHexCrypData,Hex(intKey))

Fori=0toUbound(arHexCharSet)
strRAW=strRAW&Chr(HexConv(arHexCharSet(i))/intKey)
Next

DeCryptString=strRAW
EndFunction



PrivateFunctionHexConv(hexVar)
Dimhxx,hxx_var,multiply
IFhexVar""THEN
hexVar=UCASE(hexVar)
hexVar=StrReverse(hexVar)
DIMhx()
REDIMhx(LEN(hexVar))
hxx=0
hxx_var=0
FORhxx=1TOLEN(hexVar)
IFmultiply=""THENmultiply=1
hx(hxx)=mid(hexVar,hxx,1)
hxx_var=(get_hxno(hx(hxx))*multiply)+hxx_var
multiply=(multiply*16)
NEXT
hexVar=hxx_var
HexConv=hexVar
ENDIF
EndFunction

PrivateFunctionget_hxno(ghx)
Ifghx="A"Then
ghx=10
ElseIfghx="B"Then
ghx=11
ElseIfghx="C"Then
ghx=12
ElseIfghx="D"Then
ghx=13
ElseIfghx="E"Then
ghx=14
ElseIfghx="F"Then
ghx=15
EndIf
get_hxno=ghx
EndFunction

randomize
num=int(7999*rnd+2000)计数器的值
num2=EncryptString(num)
session("Loginnum")=num
%>
document.write("<imgsrc=/verify/count.asp?sksid=<%=num2%>>")这里是挪用图片的路径

count.asp


<!--#includefile="numimg.asp"-->

<%
###Toencrypt/decryptincludethiscodeinyourpage
###strMyEncryptedString=EncryptString(strString)
###strMyDecryptedString=DeCryptString(strMyEncryptedString)
###Youarefreetousethiscodeaslongascreditsremaininplace
###alsoifyouimprovethis</p>源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码
因胸联盟 该用户已被删除
沙发
发表于 2015-1-20 09:31:09 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-25 17:53:03 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
小妖女 该用户已被删除
地板
 楼主| 发表于 2015-1-30 06:05:23 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
乐观 该用户已被删除
5#
发表于 2015-1-30 13:01:30 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-3 12:27:13 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
冷月葬花魂 该用户已被删除
7#
发表于 2015-2-8 23:19:15 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
活着的死人 该用户已被删除
8#
发表于 2015-2-26 12:47:52 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
9#
发表于 2015-3-8 15:20:52 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
柔情似水 该用户已被删除
10#
发表于 2015-3-16 02:53:28 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
若相依 该用户已被删除
11#
发表于 2015-3-22 19:09:36 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-10 03:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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