我正在登錄頁面。當我註銷時,我清除了Cookie。但是當我在註銷後按下後退按鈕會話恢復。我如何避免會話恢復..註銷會話恢復後退按鈕
回答
這可能是一個誤解。
當按下和按鈕時,您很可能會在瀏覽器中看到頁面的緩存版本。 不是表示您仍然登錄。
嘗試刷新上一頁。它應該顯示登錄對話框。
如果要防止以這種方式顯示頁面,here是關閉瀏覽器緩存的一種方法。
如果您確實保持登錄狀態,則說明有問題。在這種情況下,我們需要看一些代碼。
即使在清除緩存之後,在瀏覽器提示重新發送信息後,緩存也會恢復。 – user513458 2010-11-19 13:46:30
@user ah,但情況不同:然後,您的登錄憑據實際上會重新發送。當您登錄用戶時(而不是直接顯示內容),您可以通過將標題重定向到目標頁面來解決該問題。 – 2010-11-19 13:47:23
是的,他應該使用重定向後事後模式來處理這 – 2010-11-19 13:52:07
session_destroy php man page爲您的問題提供了一個快捷方便的解決方案。
是否有可能通過cookie刪除登錄數據,而無需在php中創建會話.. – user513458 2010-11-19 13:49:58
從評論中顯示您的問題是,當您在瀏覽器上單擊「返回」時,瀏覽器會提示您重新發送POST數據。當然,當你這樣做時,你只需重新發送登錄數據,從而立即將用戶登錄回去。避免煩人的瀏覽器提示重新發送POST數據並因此也避免重新登錄用戶的解決方案是使用「重定向後」模式。
讓您的登錄表單的POST目標成爲其他頁面 - 而不是您的登錄歡迎頁面或任何其他頁面。該目標頁面處理登錄信息,授權,然後將重定向到歡迎頁面(成功),或者如果驗證失敗,則返回到登錄頁面。
這樣你將避免瀏覽器的提示,並且用戶被重新登錄。真的所有形式應該實施這種模式,因爲它會導致更好的用戶體驗,並且避免了像你所經歷過的一個陷阱。
請嘗試以下代碼: 退出按鈕問題已恢復的會話已得到解決。
鏈接:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
codingsolver.com鏈接看起來死了,並且現在有一些垃圾郵件。 – Jbecwar 2018-01-19 17:36:38
- 1. django:避免firefox後退按鈕恢復用戶會話
- 2. 瀏覽器註銷後退按鈕
- 3. 使用後退按鈕恢復活動
- 4. Android - ViewPager恢復後退按鈕
- 5. 恢復原始後退按鈕行爲
- 6. 按下注銷按鈕後會話被刪除
- 7. Safari瀏覽器後退按鈕沒有履行PHP註銷會話
- 8. 刪除歷史或註銷後禁用後退按鈕
- 9. 如何在JSP註銷後禁用瀏覽器後退按鈕?
- 10. codeigniter - 註銷後仍然可以使用的後退按鈕
- 11. 上後退按鈕緩存問題註銷後點擊
- 12. Android:按「後退」按鈕時如何恢復列表數據?
- 13. 註銷後防止後退
- 14. 在註銷時顯示登錄頁面(點擊後退按鈕)
- 15. 如何在使用angularJS註銷時禁用後退按鈕
- 16. 禁用後退按鈕,當用戶註銷
- 17. 的WebView後退按鈕註銷用戶採取
- 18. 在jsp註銷時禁用後退按鈕
- 19. 註銷,所以後退按鈕不會返回到配置文件
- 20. Facebook註銷會話
- 21. 註銷citrix會話
- 22. 如何使用jquery點擊瀏覽器的後退按鈕來銷燬會話
- 23. PHP Codeigniter在我註銷後按下後退按鈕時顯示緩存
- 24. 流失註銷舊會話註銷
- 25. FBConnect註銷按鈕
- 26. Django註銷按鈕
- 27. DotNetOpenAuth「註銷」按鈕
- 28. Xcode - 註銷按鈕
- 29. 如何恢復UINavigationController中的後退按鈕功能?
- 30. 恢復Firefox中後退按鈕上的對象類別
是什麼讓你覺得會得到恢復? – 2010-11-19 13:39:29
您確定要刪除您的框架用於跟蹤會話的任何會話cookie(與您設置的cookie相對)嗎? – 2010-11-19 13:41:44