2012-05-11 54 views
1

在我的項目中,我不想向用戶顯示查詢字符串值。對於這種情況,我在asp.net中使用了URL重寫。所以我的網址如下所示。有什麼辦法來檢查瀏覽器中的重寫URL

http://localhost/test/default.aspx?id=1

http://localhost/test/general.aspx

第一個URL將重寫到第二個URL,但它仍然會與查詢執行Default.aspx頁字符串值。這工作正常。

但我的問題是,有沒有什麼辦法,用戶可以在瀏覽器,原始URL?

+0

以Firebug或其他任何東西,看看網絡流量。你會很容易地看到你的配置是否適合你的需求。 –

回答

0

我想出了我的問題的答案。我們可以輕鬆找到重寫的網址。如果我們在瀏覽器中看到了該頁面的視圖源,那麼我們可以看到帶有查詢字符串值的原始URL。

3

答案是否定的。

瀏覽器無法知道實際的腳本是以服務請求結束的 - 它只知道它發送給服務器的內容(除非服務器發出重定向,但瀏覽器會向重定向目標發出新請求) 。

+0

好吧,有一種方法,如果他把它寫在頁面內部,原始的url並在java腳本上使用它來向用戶顯示一些方法。當然,這是沒有辦法的。 – Aristos

0

由於URL重寫需要傳入的請求並將其發送到不同的資源,我相信答案是肯定的。在您的網絡流量的某個地方,您正在請求http://localhost/test/default.aspx?id=1,並將其重寫爲新請求http://localhost/test/general.aspx

雖然這可能隱藏顯示在瀏覽器中,在某些時候它確實發送原始URL作爲HTTP GET原始請求。

至於建議,使用Firebug或提琴手嗅出交通。

+0

翻譯(重寫)在瀏覽器和用戶透明的服務器上完成。 – Aristos

+0

是的,但*瀏覽器*發送了請求,因此它是可發現的。它可能需要一些工作才能找到,但任何瀏覽器調試工具都會告訴你它在那裏。 – mgnoonan

+0

瀏覽器發送的HTTP'://本地主機/測試/ general.aspx'的翻譯成'HTTP://localhost/test/default.aspx ID = 1'沒有發現 – Aristos

相關問題