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

首頁 > 編程 > ASP > 正文

ASP教程:server.transfer方法實例

2024-05-04 11:06:45
字體:
來源:轉載
供稿:網友

經常在網站上看到諸如www.abc.com/?news或者www.abc.com/?id=123這樣的網址,一開始覺得很神秘,其實現在看多了,用得多了,也覺得沒那以多深奧的技術,就是用一些最簡單的方法就能實現,以ASP為例,用好server.transfer這個方法就可以實現以上的功能了。

假設地址是www.abc.com/?news,如何顯示我們需要的news.asp呢?首先要先明白,不論什么服務器,都會有一個缺省頁,比如你把index.html或者index.htm上傳到主頁空間,輸入網址,默認總是會轉到index頁面上,主機默認index.html(index.htm)為缺省頁,當然,index.asp也是一樣的,不過當這幾個頁面同時出現時,先顯示哪一個,就看服務器的設定了。現在我們在目錄下新建一個index.asp,假設訪問的路徑是www.abc.com/,那么對于這個地址我們也是可以用www.abc.com/index.asp來訪問的,而前者就把index.asp給隱藏了。

現在我們來實現用www.abc.com/?news來指向news.asp,打開index.asp,編輯它的源文件,如下:

<% 
dim targetPage 
targetPage=request.querystring() 
     if targetPage<>"" then 
         server.transfer(targetPage+".asp") 
     end if 
%>

這里用的是request.querystring()來接收字符,因為我們的請求字符串是?news,而并不是像傳統的類似于變量名對應變量值的形式,所以我們用request.querystring()的方法來取得“?”后面的所有字符。這里我們得到了字符串“news”。接下來判斷一下,如果不是空串就將它轉化成new.asp,并用server.transfer轉向,這里,之所以用server.transfer,你會發現,頁面轉向了,但瀏覽器地址欄卻沒有變,不會因為轉向而變成了www.abc.com/new.asp,就是基于server.transfer這個原理,才能實現隱藏訪問頁面的目的。

不過樣的形式太簡單,還是很容易讓人猜到真實地址,那就再深入一步吧,做一個地址映射表,原理也不難,建立一個數組,將你要轉向的地址名寫進去,然后通過www.abc.com/?arrayID的形式來訪問,其中arrayID是地址對應的數組下標。就舉個例子來說吧:

<% 
dim targetPage,urlTable(4) 
targetPage=request.querystring() 
urlTable(1)="news.asp" 
urlTable(2)="list.asp" 
urlTable(3)="homepage.asp" 
urlTable(4)="login.asp 
server.transfer(urlTable(targetPage)) 
%>

如果我們要訪問news.asp,則可以用www.abc.com/?1,這樣的地址映射在地址信息中不容易讓人猜到文件的命名方法,自然是保密性高了不少,不過這種方法對于過多地址轉向,數組的體積就會增長,也不是一種很好的方法,在維護時也不是很容易。

相比之下,第一種方法在網上使用的似乎也挺普遍的,第二種,也有使用,另外,對于地址信息的編碼,以及在index.asp中對轉向功能進一步強化,引入各種加密機制,也是能夠達到隱藏真實頁面的目的。而作為我,只是拋磚引玉,就介紹這些最簡單的東西,如果要使用到實際,自然是需要添磚加瓦的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高雄县| 渭源县| 鄂伦春自治旗| 宁乡县| 五华县| 思茅市| 黔西县| 合川市| 建平县| 盈江县| 梅河口市| 绥芬河市| 益阳市| 旺苍县| 杂多县| 枣庄市| 莲花县| 凤山市| 兴海县| 和平县| 吴江市| 陇川县| 盘锦市| 榆林市| 上饶市| 阜阳市| 出国| 元朗区| 北碚区| 丽江市| 仙居县| 手机| 普宁市| 华容县| 漯河市| 睢宁县| 内黄县| 博乐市| 东山县| 峡江县| 盘锦市|