• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    关于ASP生成伪参数技巧
    作者: 纯属·印象
    Q  Q: 442398600
          2006年8月8日

    前两天在做一个站内版的企搜引擎,发现某些站点可以链接站点内容。。

    奇怪之下看了看,原来是按照数据库ID的自动编号规律进行链接的~~

    闲暇之余弄了下面这个东东,希望对大家在以后的编写ASP程序中有所帮助!

    %
    '//生成指定位数的随机数字
    '//也可以用Guidy写的iXuEr_Rnd_Str函数,自带15种样式,可以伪MD5啦!!
    Function rndStr(strLong)
    Dim tempStr
    Randomize
    Do While Len(rndStr)  strLong
     tempStr=CStr(Chr((57-48)*rnd+48))
     rndStr=rndStrtempStr
    Loop
     rndStr=rndStr
    End Function
    %>

    下面以Form表单中提交的参数为例子针对Request.Form
    需要传递的参数doAction原来的值是从数据库读取的ID


    form name=iform action="ABC.asp" method="post">
    input name=doAction type="hidden" value="%=rndStr(10)%>%=Rs("ID")%>%=rndStr(10)%>">
    /form>

    注意:
    上面的doAction的值有了改变,每刷新一次页面得到的值都不一样~~

    下面是ABC.asp页面
    首先取得doAction的值


    doAction = Trim(Request.Form("doAction"))

    下面大家可以自己加一点验证,如IsNumeric等!

    然后我们来分解doAction的值


    Dim LastID
    doAction = Mid(doAction,11)
    LastID = Mid(doAction,1,Len(doAction)-10)

    如果大家对Mid函数熟悉的话,上面的内容很容易就猜到,简单吧?

    下面是实际的例子:

    原doAction要传递的ID在数据库里(字段类型为自动编号)的值为:34

    说明:
    Mid(doAction,11)里的11为你所生成随机字符位数+1
    LastID = Mid(doAction,1,Len(doAction)-10)里的10为所指定生成的随机字符位数!


    Dim LastID
    doAction = 3614354944348151287527 — 经过伪装后的ID值(完全可以当数字来验证)
    doAction = Mid(doAction,11)
    LastID = Mid(doAction,1,Len(doAction)-10)
    LastID = 34
    我实验了一下,如果配合随机生成的字母和数字一起运用的话,那完全是可以伪成MD5类似的值!
    只是条件就一个,要可以指定随机字符的位数!

    哈哈,现在大家Response.Write输出LastID的值看看,是不是又是数据库里的ID啦?

    这个方法可以运用到影片参数的加密,下载等.如做了政府的公文流转系统,还可以用到文件上面去!

    针对Request.QueryString的也是同一个道理!照葫芦画瓢啦...

    以上是本人在编写ASP程序中的一点点经验,不足之处请大家多多指正!

    上一篇:MSXML4.0 版中的新增功能
    下一篇:本人常用的asp代码 原创
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    关于ASP生成伪参数技巧 关于,ASP,生成,伪,参数,技巧,