2012-08-23 201 views
1

我有一個客戶端(家庭暴力中心)想知道我們是否可以阻止他們的網站出現在瀏覽器歷史記錄中,或者從瀏覽器中清除用戶訪問他們退出網站時的歷史。用javascript清除瀏覽器歷史記錄(或防止URL被記錄)

我知道一旦有人在我們的網站上,我們可以通過防止使用location.replace進行導航的正常頁面加載新頁面的方式來構建它,但在http://example.org中輸入的某個人仍然處於歷史。

頁面加載時是否可能阻止頁面被記錄在歷史記錄中,或者在記錄存在的情況下刪除記錄?

我有一種不好的感覺,但如果有人會知道這是我在Stack Overflow上的所有smartypants朋友。

+3

我認爲提高公衆對[隱身模式](https://en.wikipedia.org/wiki/Privacy_mode)(大多數主流瀏覽器支持)的認識將是適當的解決方案。我不認爲從網站的角度可以做很多事情。 –

回答

4

不幸的是,這是不能做到的。

對於您的客戶方案,我最好的建議是,用戶接受關於如何從他們的瀏覽器歷史中刪除他們的訪問,以及如何在未來訪問中使用匿名瀏覽/私人模式/隱身模式。

+0

這就是我所擔心的。我打算向客戶提出一些突出的「安全瀏覽提示」頁面 - 但任何時候我都可以讓一臺機器做一些事情,而不是指望用戶遵循指示......呃,你知道的。 –

3

報價MDN

沒有辦法清除會話歷史記錄或禁止從非特權代碼 後退/前進導航。最接近的可用 解決方案是location.replace()方法,它使用提供的URL替換會話歷史記錄的當前 項目。

所以我認爲你的客戶希望的是不可能的。

+0

謝謝。我應該檢查MDN,感謝提醒那些資源。 –

3

添加腳本以識別每個瀏覽器,並提供瀏覽器特定步驟以刪除歷史記錄/使用隱身模式。

+0

通過具體的步驟我的意思是如何爲用戶清除他們的歷史 –

-1

正確配置的代理服務器可能在該上下文中有用。

+0

我不明白這會有什麼幫助。 –

+0

運行在https鏈接上的CGI代理將 a)隱藏用戶正在訪問的URL。 b)這樣的代理服務器也可以發送用戶代理/瀏覽器應該遵守的「不做緩存」標題。 這樣,它將滿足OP的兩個要求。 有點像http://hidemyass.com/打開SSL開關。 –

+0

不錯的奶酪三明治會更有用。 – CompanyDroneFromSector7G