當前位置:首頁文章首頁 IT學院 IT技術(shù)

教你一招隱藏網(wǎng)頁真實地址

作者:  來源:  發(fā)布時間:2011-6-1 9:32:30  點擊:

本文章提供了一種隱藏網(wǎng)頁地址的方法,就是利用server.transfer來隱藏網(wǎng)頁真實地址,希望這篇文章對大家有所幫助。

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

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

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

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

<%
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,這樣的地址映射在地址信息中不容易讓人猜到文件的命名方法,自然是保密性高了不少,不過這種方法對于過多地址轉(zhuǎn)向,數(shù)組的體積就會增長,也不是一種很好的方法,在維護時也不是很容易。

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

相關(guān)軟件

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z