由於我確定您已經知道,您無法直接禁用瀏覽器上的「返回」按鈕。
防止用戶回頭的唯一方法依賴於將頁面設置爲緩存或涉及使用JavaScript。基於這些都不適合你的事實,沒有解決方案來管理這一點。我查看了多年來的許多文章,並重新搜索了幾次,所有建議都使用客戶端腳本或緩存。
我的建議是在你的情況下使用緩存禁用方法,並看看你的用戶界面如何迴應「後退」按鈕,看看你是否可以對設計進行更改以使其更平滑。這可能涉及檢查會話變量,或檢查用戶是否仍然通過身份驗證,但根據您的要求,我相信您運氣不佳。
總之,你將需要選擇兩個邪惡中的較小者。
- 使用頁面緩存將確保人們無法使用「後退」按鈕,在所有不使用JavaScript - 大概是更好的安全性
- 使用JavaScript來刪除註銷頁面的歷史將允許您以防止用戶從退出後返回,但有人開啓了noscript,或者有人惡意可以禁用您的控制。
你沒有詳細說明你想保護誰,但是如果我猜對了,而且你擔心用戶在註銷後離開他們的電腦,但沒有關閉瀏覽器窗口,那麼Javascript真的是一個問題嗎?
思考一下,這樣做的人的類型是不考慮如何惡意使用信息。大概是惡意的人,已經「像壞人一樣思考」,並且知道足以關閉瀏覽器窗口。
任何一個選項都可以通過攔截/改變http頭,javascript等的惡意軟件繞過,所以兩者都不是100%有效。我看到的唯一區別是,javascript選項可以通過改變html在線路上傳輸(使用Fiddler或惡意軟件等)並通過簡單地禁用Javascript來打破。所以頁面緩存選項爲稍微有點更好的安全目的。
使用HTTPS,而不是普通的HTTP與頭的方法組合提供了更多的保護,使其多更有效,因爲它大大增加了跨線操縱數據的困難,它不是禁用只需禁用JavaScript即可。
無論哪種方式,我認爲你需要衡量你的選擇,並選擇其中一個。看起來很傷心,我們只能做很多事情來保護用戶不受他們自己的傷害。
這是行不通的。該頁面仍然保存在瀏覽器歷史記錄中,即客戶端,因此如果頁面緩存未設置,您仍然可以回到該頁面。 – David 2012-03-22 13:32:20