兰色精灵 发表于 2015-1-16 22:43:16

ASP网页编程之ASP进修:urldecode 办法补遗

ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。asp内里没有urldecode函数,好象aspx里有吧,我不太分明,但asp内里仍是用得良多。在网上查找了有他人写的urldecode函数,可是这个函数有毛病,并且在一些方面写得对照难了解。并且有毛病,当内里有冷僻双字节笔墨时就会发生毛病,如“W”经urlencoder后为“%81W”,解码就不克不及乐成。实在双字节编码在这里只需把"W"也编成16进制ASC码就能够。
常识点:盘算机里的cookie也是经由urlencode编码的,以是urldecode对破解cookie也很有效呵。
上面是源代码:
FunctionURLDecode(enStr)
dimdeStr
dimc,i,v
deStr=""
fori=1tolen(enStr)
c=Mid(enStr,i,1)
ifc="%"then
v=eval("&h"+Mid(enStr,i+1,2))
ifv<128then
deStr=deStr&chr(v)
i=i+2
else
ifisvalidhex(mid(enstr,i,3))then
ifisvalidhex(mid(enstr,i+3,3))then
v=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2))
deStr=deStr&chr(v)
i=i+5
else
v=eval("&h"+Mid(enStr,i+1,2)+cstr(hex(asc(Mid(enStr,i+3,1)))))
deStr=deStr&chr(v)
i=i+3
endif
else
destr=destr&c
endif
endif
else
ifc="+"then
deStr=deStr&""
else
deStr=deStr&c
endif
endif
next
URLDecode=deStr
endfunction
functionisvalidhex(str)
isvalidhex=true
str=ucase(str)
iflen(str)3thenisvalidhex=false:exitfunction
ifleft(str,1)"%"thenisvalidhex=false:exitfunction
c=mid(str,2,1)
ifnot(((c>="0")and(c<="9"))or((c>="A")and(c<="Z")))thenisvalidhex=false:exitfunction
c=mid(str,3,1)
ifnot(((c>="0")and(c<="9"))or((c>="A")and(c<="Z")))thenisvalidhex=false:exitfunction
endfunction
你用此办法解码“%81W”看看,能够了。
固然,你还能够玩点小段,使之成为本人的一种字符串加密体例。
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;

金色的骷髅 发表于 2015-1-19 21:43:58

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

再见西城 发表于 2015-1-26 21:02:47

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

若相依 发表于 2015-2-10 08:10:29

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

山那边是海 发表于 2015-3-1 04:01:38

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

第二个灵魂 发表于 2015-3-10 12:31:32

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

莫相离 发表于 2015-3-17 07:07:40

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

简单生活 发表于 2015-3-24 00:58:01

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
页: [1]
查看完整版本: ASP网页编程之ASP进修:urldecode 办法补遗