剛才運(yùn)行了一段代碼,來(lái)查看Request.ServerVariables里面有多少值,看了一下,共50個(gè)!
代碼<%=Request.ServerVariables.count%>
以前感覺(jué)Request.ServerVariables里的值很多,現(xiàn)在看看還是那么多,不過(guò)今天談其中的一個(gè)值----HTTP_Referer
首先,我們先知道HTTP_Referer最常用的應(yīng)用就是能夠防止外部提交。
下列情況是從瀏覽器的地址欄正常取得Request.ServerVariables("HTTP_REFERER"):
1) 直接用<a href="">
2) 用Submit或<input type="image">提交的表單(POST或GET)
3) 使用JAvaScript提交的表單(POST或GET)
下面我們?cè)倏纯碦equest.ServerVariables("HTTP_REFERER")不能正常取值的情況:
1) 從收藏夾鏈接
2) 單擊主頁(yè)或自定義的地址
3) 在瀏覽器中直接輸?shù)刂?
4) 使用JavaScript的Location.href或者是Location.replace()
5) <%Response.Redirect%>
6) <%Response.AddHeader%>或者是<mete http-equiv="refresh">轉(zhuǎn)向
7) 用XML加載地址
顯然,Request.ServerVariables("HTTP_REFERER")在多數(shù)情況下是不能正常工作的。關(guān)于它的具體用法我會(huì)在以后的文章中詳細(xì)的介紹,同時(shí)還會(huì)介紹Request.ServerVariables("HTTP_HOST")Request.ServerVariables("SERVER_NAME")之間的區(qū)別。
敬請(qǐng)關(guān)注!
Request.ServerVariables里Server_Name與Http_Host之間有什么區(qū)別呢?
如果不仔細(xì)看,您應(yīng)該看不出它們之間的區(qū)別。在網(wǎng)上搜了很多,還是也沒(méi)有看懂,不過(guò)最后還是有一句話很是明白:Http_Host可以Request出非80的Server_Port,簡(jiǎn)單地說(shuō)就是,Http_Host=Server_Name:Server_Port。
在以前發(fā)表過(guò)關(guān)于Http_Referer作用的文章,現(xiàn)在結(jié)合它來(lái)寫(xiě)一個(gè)ASP防止外部提交的函數(shù)
新聞熱點(diǎn)
疑難解答
圖片精選