ASP学习:urldecode 方法补遗

2016-01-29 18:41 6 1 收藏

ASP学习:urldecode 方法补遗,ASP学习:urldecode 方法补遗

【 tulaoshi.com - ASP 】

 

  asp 里面没有urldecode函数,好象aspx里有吧,我不太清楚,但asp里面还是用得很多。在网上查找了有别人写的urldecode函数,但是这个函数有错误,而且在一些方面写得比较难理解。而且有错误,当里面有生僻双字节文字时就会产生错误,如“乄”经urlencoder后为“%81W”,解码就不能成功。

  其实双字节编码在这里只要把"W"也编成16进制ASC码就可以。

  知识点:计算机里的cookie也是经过urlencode编码的,所以urldecode对破解cookie也很有用呵。

  下面是源代码:

  Function URLDecode(enStr)
  dim deStr
  dim c,i,v
  deStr=""
  for i=1 to len(enStr)
  c=Mid(enStr,i,1)
  if c="%" then
  v=eval("&h"+Mid(enStr,i+1,2))
  if v<128 then
  deStr=deStr&chr(v)
  i=i+2
  else
  if isvalidhex(mid(enstr,i,3)) then
  if isvalidhex(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
  end if
  else
  destr=destr&c
  end if
  end if
  else
  if c="+" then
  deStr=deStr&" "
  else
  deStr=deStr&c
  end if
  end if
  next
  URLDecode=deStr
  end function

  function isvalidhex(str)
  isvalidhex=true
  str=ucase(str)
  if len(str)<3 then isvalidhex=false:exit function
  if left(str,1)<"%" then isvalidhex=false:exit function
  c=mid(str,2,1)
  if not (((c="0") and (c<="9")) or ((c="A") and (c<="Z"))) then isvalidhex=false:exit function
  c=mid(str,3,1)
  if not (((c="0") and (c<="9")) or ((c="A") and (c<="Z"))) then isvalidhex=false:exit function
  end function

  你用此方法解码“%81W”看看,可以了。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/)

  当然,你还可以玩点小段,使之成为自己的一种字符串加密方式。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/) 

来源:https://www.tulaoshi.com/n/20160129/1506869.html

延伸阅读
标签: ASP
  首先声明, 1 本人不是什么asp高手,本人只是菜鸟 2 本文不是给程序员和高手看的,是给喜欢asp的业余爱好者共同探讨的 3 本人的学习方法并不一定正确,请自行斟酌 本人毕业于山东医科大学,五年的临床医学,出来以后干了医生,后来学习asp,想起学习的时候,那些日子是比较苦,但是挺有意思。 开始的时候学习程序只是爱好,学习a...
自绘按钮补遗 作者:杜修杏 下载本文配套源代码 (包括:改进后的CXPButton类、练习程序、练习程序答案) 在《自绘按钮的实现》一文中所示范的CXPButton按钮从形状上看可以说是一个不规则按钮。我们把MFC中提供的控件成为标准控件,而其中的按钮控件则可称为规则按钮,因为它是的形状是一个规...
标签: Web开发
本文关键字:教程/ASP/入门     ASP对象让你的服务器和浏览器互相影响,你会例行公事的在你的ASP脚本中使用一个或者多个对象。你不用安装任何东西来使用它们,但是你必须要记住打开或者关闭它们。     ASP组件,和ASP对象不同,它是ActiveX控制和ASP接口让普通进程单一化。一些普通的使用对象和组件就在这个下...
ISO 8859-1 (Latin-1) characters &nbsp;&#160; ¡ &iexcl;&#161; ¢ &cent;&#162; £ &pound;&#163; ¤ &curren;&#164; ¥ &yen;&#165; ¦ &brvbar;&#166; § &sect;&#167; ¨ &uml;&#168; © &copy;&#169; ª &ordf;...
标签: Web开发
1、数据库连接。   ASP与Access数据库连接: %@ language=VBscript% % dim conn,mdbfile mdbfile=server.mappath("数据库名称.mdb") set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbf...

经验教程

839

收藏

53
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部