2010-10-21 53 views
0

如何刪除ASP.net中的歷史頁面? 在我的應用程序中,當用戶註銷時,我刪除會話變量並過期cookie(aspxauth和asp_net_sessionId),但是當用戶單擊瀏覽器的後退按鈕時,用戶仍然可以看到包含所有用戶信息的頁面。但是由於會話不可用,頁面無法與服務器交互,但過期的頁面包含人口統計信息,這對安全問題是一種有害的情況。 任何幫助表示讚賞。刪除ASP.net中的歷史頁面

+1

你不能。您必須確保這些頁面不存儲在「歷史記錄」中。 – bzlm 2010-10-21 15:24:45

回答

3

你不能據我所知。但是,您可以禁用頁面上的緩存,從而獲得所需的結果。當用戶點擊後,而不是顯示緩存頁面,頁面應該再次被拉。如果您的網站設置正確,則應將其重定向到登錄頁面。

+0

+1。有幾種方法可以做到這一點,最後我知道,瀏覽器中存在不一致。有關正確執行此操作的詳細信息,請參閱此鏈接:http://forums.asp.net/p/1060173/1519897.aspx – David 2010-10-21 15:29:50

1

如果這是安全的數據,你應該爲它提供HTTPS,它不會緩存它。您也可以嘗試

response.Headers.Add("pragma", "no-cache"); 
response.Headers.Add("Cache-control", "no-cache, no-store, must-revalidate"); 
response.Headers.Add("Expires", "01 Apr 1995 01:10:10 GMT"); 

讓頁面立即過期。

0

歷史頁面是瀏覽器,客戶端功能,而不是服務器端。所以你不能刪除比使用ASP.NET和C#。

可能創建一個JavaScript,客戶端代碼,將刪除歷史,但我不認爲這是好的設計。也許這是你唯一的選擇,但從用戶的角度來看,我會發現惱人的不能訪問瀏覽器的歷史。

我想你應該考慮一個不同的策略,比如避免緩存頁面。