教你一招隱藏網(wǎng)頁真實(shí)地址
本文章提供了一種隱藏網(wǎng)頁地址的方法,就是利用server.transfer來隱藏網(wǎng)頁真實(shí)地址,希望這篇文章對(duì)大家有所幫助。
經(jīng)常在網(wǎng)站上看到諸如www.abc.com/?news或者www.abc.com/?id=123這樣的網(wǎng)址,一開始覺得很神秘,其實(shí)現(xiàn)在看多了,用得多了,也覺得沒那以多深?yuàn)W的技術(shù),就是用一些最簡(jiǎn)單的方法就能實(shí)現(xiàn),以asp為例,用好server.transfer這個(gè)方法就可以實(shí)現(xiàn)以上的功能了。
假設(shè)地址是www.abc.com/?news,如何顯示我們需要的news.asp呢?首先要先明白,不論什么服務(wù)器,都會(huì)有一個(gè)缺省頁,比如你把index.html或者index.htm上傳到主頁空間,輸入網(wǎng)址,默認(rèn)總是會(huì)轉(zhuǎn)到index頁面上,主機(jī)默認(rèn)index.html(index.htm)為缺省頁,當(dāng)然,index.asp也是一樣的,不過當(dāng)這幾個(gè)頁面同時(shí)出現(xiàn)時(shí),先顯示哪一個(gè),就看服務(wù)器的設(shè)定了。現(xiàn)在我們?cè)谀夸浵滦陆ㄒ粋(gè)index.asp,假設(shè)訪問的路徑是www.abc.com/,那么對(duì)于這個(gè)地址我們也是可以用www.abc.com/index.asp來訪問的,而前者就把index.asp給隱藏了。
現(xiàn)在我們來實(shí)現(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()來接收字符,因?yàn)槲覀兊恼?qǐng)求字符串是?news,而并不是像傳統(tǒng)的類似于變量名對(duì)應(yīng)變量值的形式,所以我們用request.querystring()的方法來取得“?”后面的所有字符。這里我們得到了字符串“news”。接下來判斷一下,如果不是空串就將它轉(zhuǎn)化成new.asp,并用server.transfer轉(zhuǎn)向,這里,之所以用server.transfer,你會(huì)發(fā)現(xiàn),頁面轉(zhuǎn)向了,但瀏覽器地址欄卻沒有變,不會(huì)因?yàn)檗D(zhuǎn)向而變成了www.abc.com/new.asp,就是基于server.transfer這個(gè)原理,才能實(shí)現(xiàn)隱藏訪問頁面的目的。
不過樣的形式太簡(jiǎn)單,還是很容易讓人猜到真實(shí)地址,那就再深入一步吧,做一個(gè)地址映射表,原理也不難,建立一個(gè)數(shù)組,將你要轉(zhuǎn)向的地址名寫進(jìn)去,然后通過www.abc.com/?arrayID的形式來訪問,其中arrayID是地址對(duì)應(yīng)的數(shù)組下標(biāo)。就舉個(gè)例子來說吧:
<%
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,這樣的地址映射在地址信息中不容易讓人猜到文件的命名方法,自然是保密性高了不少,不過這種方法對(duì)于過多地址轉(zhuǎn)向,數(shù)組的體積就會(huì)增長(zhǎng),也不是一種很好的方法,在維護(hù)時(shí)也不是很容易。
相比之下,第一種方法在網(wǎng)上使用的似乎也挺普遍的,第二種,也有使用,另外,對(duì)于地址信息的編碼,以及在index.asp中對(duì)轉(zhuǎn)向功能進(jìn)一步強(qiáng)化,引入各種加密機(jī)制,也是能夠達(dá)到隱藏真實(shí)頁面的目的。而作為我,只是拋磚引玉,就介紹這些最簡(jiǎn)單的東西,如果要使用到實(shí)際,自然是需要添磚加瓦的。