2008-12-24 60 views
4

我已將以下代碼添加到我的主頁面(Page_Load),因此一旦用戶註銷,他們將無法使用後退按鈕查看他們以前的頁面。警告:頁面已過期

Response.Buffer = true; 
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); 
Response.Expires = -1; 
Response.CacheControl = "no-cache"; 

問題是,我的用戶希望能夠在他們登錄到應用程序時使用瀏覽器後退按鈕。當我將代碼評論爲不緩存頁面時,他們可以使用後退按鈕,但是一旦他們註銷後,他們可以使用後退按鈕查看他們上一次導致安全風險的上一頁。

有沒有人有任何建議,以便他們可以使用應用程序中的瀏覽器後退按鈕,但一旦他們註銷他們不能回到應用程序?

回答

2

是爲了防止非認證用戶從祕密訪問之前使用過的電腦,看到什麼身份驗證的用戶在做的目的是什麼?如果是後者,那麼你應該將用戶重定向到一個具有window.close()的註銷頁面;命令以及強烈的語言,這是要求。現在,這不是鐵甲:IE將用戶,如果他們願意讓應用程序關閉窗口和其他瀏覽器完全忽略該請求。但是,在適當的安全環境中,我認爲它確實爲您的安全政策提供了重要的補充 - 儘管主要是文化多樣性(它幫助文化成員遵守規則)。

如果你想「一次性完成」你的安全類型,那麼我恐怕會鎖定緩存或向每個頁面添加「window.forward()」(這會阻止所有後端的使用按鈕)是你唯一的選擇。

另一件事:AJAX提供了一些幫助的工具。您可以將敏感信息放在更新面板上,並讓頁面加載JavaScript觸發更新面板刷新。由於這將始終返回到服務器,未認證/過期的用戶將被拒絕。這是一個非常重要的工作量,但我認爲我會把它扔在那裏。

0

YUI提供了一種輕鬆控制瀏覽器歷史記錄的方法,以編程的方式將URL打入歷史記錄。看看YUI Browser History經理。