国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

關于ASP生成偽參數技巧

2020-07-27 13:30:56
字體:
來源:轉載
供稿:網友
作者: 純屬?印象
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=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程序中的一點點經驗,不足之處請大家多多指正!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天祝| 顺昌县| 霍林郭勒市| 济宁市| 碌曲县| 嵊州市| 扎赉特旗| 常宁市| 土默特右旗| 高平市| 沾益县| 奈曼旗| 禹州市| 海南省| 类乌齐县| 海丰县| 揭阳市| 利川市| 泗洪县| 博野县| 上杭县| 堆龙德庆县| 县级市| 隆林| 海南省| 宜良县| 宁武县| 荔浦县| 灵山县| 合山市| 广宁县| 黑水县| 乌恰县| 宜兰县| 盐池县| 海门市| 西乌| 西乌| 新巴尔虎左旗| 同江市| 中方县|