2012-10-16 84 views
1

的其他部分我想隱藏這樣一個如何隱藏URL

HTTP URL的某些部分://localhost/hotel/index.php? &做=家庭

我希望它僅顯示

的http://本地主機/酒店/家居

誰能給我一個PHP代碼simpliest做到這一點?謝謝。

+0

您在使用htaccess的做到這一點。 –

+1

您正在尋找URL重寫。 –

回答

-1

以下是不同的方法來隱藏信息,網址:

  1. 使用形式和POST信息。這可能需要源代碼頁中的額外代碼,但不應要求在目標頁面中進行邏輯更改(僅將Request.QueryString更改爲Request.Form)。雖然POST並非不可能,但與使用QueryString參數相比,它的吸引力並不大。

  2. 使用會話變量在頁面間傳遞信息。與(1)相比,這可能是一個比較實際的工作,因爲您需要考慮會話變量檢查(例如,如果您經常檢查狀態,用戶現在可能難以使用後退和前進按鈕進行導航) 。您還需要處理未啓用會話cookie的情況(此解決方案不適用於這些人)。

  3. 在QueryString中使用「編碼」或非感性信息代替實際數據。這將需要在所有頁面提交的任一端創建編碼和解碼方案。當然,用戶仍然可以對您的方案進行實驗和逆向工程,但是他們不太可能快速地對現有的QueryString進行有意義的更改。使用框架組。我真的不推薦這種方法,雖然這很常見。如果您試圖隱藏信息而不是使修改更加困難,用戶仍然可以右鍵單擊各個框架並單擊屬性,以檢索通過QueryString傳遞的所有信息。

  4. 使用Server.Transfer將控件移動到第二個頁面,該頁面仍然可以訪問傳遞到第一個頁面的查詢字符串參數(該頁面的URL只是簡要地可見)。

    擺脫QueryStrings的一個問題是,它們使您的網站難以使用。如果您依賴於(3)以外的任何方法,那麼用戶不可能按原樣爲當前頁面添加書籤......他們只能以類似於如果他們只鍵入URL的情況發生的情況的方式將頁面加入書籤在(這可能不工作,這取決於你如何構建頁面)。因此,在決定信息的真實敏感程度時,要記住這一點,以及在可用性與安全性的平衡中您願意走多遠。

+2

所以,你建議5種不同的方法,其中沒有一個是URL重寫。爲什麼?此外,'QueryString'和朋友是*不* PHP。 –