2010-11-19 145 views
1

我正在登錄頁面。當我註銷時,我清除了Cookie。但是當我在註銷後按下後退按鈕會話恢復。我如何避免會話恢復..註銷會話恢復後退按鈕

+1

是什麼讓你覺得會得到恢復? – 2010-11-19 13:39:29

+0

您確定要刪除您的框架用於跟蹤會話的任何會話cookie(與您設置的cookie相對)嗎? – 2010-11-19 13:41:44

回答

6

這可能是一個誤解。

當按下按鈕時,您很可能會在瀏覽器中看到頁面的緩存版本。 不是表示您仍然登錄。

嘗試刷新上一頁。它應該顯示登錄對話框。

如果要防止以這種方式顯示頁面,here是關閉瀏覽器緩存的一種方法。

如果您確實保持登錄狀態,則說明有問題。在這種情況下,我們需要看一些代碼。

+0

即使在清除緩存之後,在瀏覽器提示重新發送信息後,緩存也會恢復。 – user513458 2010-11-19 13:46:30

+2

@user ah,但情況不同:然後,您的登錄憑據實際上會重新發送。當您登錄用戶時(而不是直接顯示內容),您可以通過將標題重定向到目標頁面來解決該問題。 – 2010-11-19 13:47:23

+0

是的,他應該使用重定向後事後模式來處理這 – 2010-11-19 13:52:07

1

從評論中顯示您的問題是,當您在瀏覽器上單擊「返回」時,瀏覽器會提示您重新發送POST數據。當然,當你這樣做時,你只需重新發送登錄數據,從而立即將用戶登錄回去。避免煩人的瀏覽器提示重新發送POST數據並因此也避免重新登錄用戶的解決方案是使用「重定向後」模式。

讓您的登錄表單的POST目標成爲其他頁面 - 而不是您的登錄歡迎頁面或任何其他頁面。該目標頁面處理登錄信息,授權,然後將重定向到歡迎頁面(成功),或者如果驗證失敗,則返回到登錄頁面。

這樣你將避免瀏覽器的提示,並且用戶被重新登錄。真的所有形式應該實施這種模式,因爲它會導致更好的用戶體驗,並且避免了像你所經歷過的一個陷阱。