關於ASP產生偽參數技巧 簡潔實用的偽(僞)參數_應用技巧

來源:互聯網
上載者:User
簡潔實用的偽(僞)參數
前兩天在做一個站內版的企搜引擎,發現某些網站可以連結網站內容。。

奇怪之下看了看,原來是按照資料庫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=rndStr&tempStr 
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程式中的一點點經驗,不足之處請大家多多指正!
大家可以根據需要,取中間的幾位,也可以的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.