ASP教程:ASP生成偽參數(shù)的技巧_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP教程:一個簡單的AJAX例子
      ASP教程:關(guān)于AJAX一個簡單的例子 Index.asp: 程序代碼 html head meta http-equiv=Content-Type content=text/html; charset=gb2312 / titleAJAX簡單應(yīng)用/title script language=javascript //創(chuàng)建XMLHttpRequest對象 var request = false; try { re

      前兩天在做一個站內(nèi)版的企搜引擎,發(fā)現(xiàn)某些站點可以鏈接站點內(nèi)容。。

      奇怪之下看了看,原來是按照數(shù)據(jù)庫ID的自動編號規(guī)律進行鏈接的~~

      閑暇之余弄了下面這個東東,希望對大家在以后的編寫ASP程序中有所幫助!

      <%
      ''//生成指定位數(shù)的隨機數(shù)字
      ''//也可以用Guidy寫的iXuEr_Rnd_Str函數(shù),自帶15種樣式,可以偽MD5啦!!
      Function rndStr(strLong)
      Dim tempStr
      Randomize
      Do While Len(rndStr) < strLong
      tempStr=CStr(Chr((57-48)*rnd+48))
      rndStr=rndStr&tempStr
      Loop
      rndStr=rndStr
      End Function
      %>

      下面以Form表單中提交的參數(shù)為例子針對Request.Form,需要傳遞的參數(shù)doAction原來的值是從數(shù)據(jù)庫讀取的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函數(shù)熟悉的話,上面的內(nèi)容很容易就猜到,簡單吧?

      下面是實際的例子:

      原doAction要傳遞的ID在數(shù)據(jù)庫里(字段類型為自動編號)的值為:34

      說明:
      Mid(doAction,11)里的11為你所生成隨機字符位數(shù)+1
      LastID = Mid(doAction,1,Len(doAction)-10)里的10為所指定生成的隨機字符位數(shù)!

      Dim LastID
      doAction = 3614354944348151287527 — 經(jīng)過偽裝后的ID值(完全可以當(dāng)數(shù)字來驗證)
      doAction = Mid(doAction,11)
      LastID = Mid(doAction,1,Len(doAction)-10)
      LastID = 34

      我實驗了一下,如果配合隨機生成的字母和數(shù)字一起運用的話,那完全是可以偽成MD5類似的值!
      只是條件就一個,要可以指定隨機字符的位數(shù)!

      哈哈,現(xiàn)在大家Response.Write輸出LastID的值看看,是不是又是數(shù)據(jù)庫里的ID啦?

      這個方法可以運用到影片參數(shù)的加密,下載等.如做了政府的公文流轉(zhuǎn)系統(tǒng),還可以用到文件上面去!

      針對Request.QueryString的也是同一個道理!照葫蘆畫瓢啦...

      以上是本人在編寫ASP程序中的一點點經(jīng)驗,不足之處請大家多多指正!

      分享:實現(xiàn)ASP頁面的防采集
      自己寫了一段防小偷采集的代碼,與大家交流交流! 用法: 單獨保存一個文件如(no.asp); 在相應(yīng)的asp頁面頭部用!--#include file=no.asp --加入即可! % '**************************************** '* 網(wǎng)頁防采集實現(xiàn) * '************************************

      來源:模板無憂//所屬分類:ASP教程/更新時間:2012-06-29
      相關(guān)ASP教程