2012-11-29 179 views
0

出於安全原因,我們不希望某人提交的信息被存儲。例如,在通過表單提交進入頁面後,當我刷新時,它會詢問我是否要再次發送相同的數據(至少在Chrome中)。保存頁面緩存

我們正在嘗試創建會話行爲。我們沒有維護服務器會話 - 登錄後,用戶會返回單個頁面。由於沒有其他頁面供用戶在登錄時導航(根本沒有服務器調用),所以用這種方式處理它似乎更簡單。但是,刷新頁面允許數據重新提交,我們不希望這樣。您也可以點擊後退按鈕,然後點擊前進按鈕,該頁面仍然存在,或者繼續到其他網站,然後返回到頁面。我發現<meta http-equiv="CACHE-CONTROL" content="NO-CACHE">但它似乎沒有任何影響。

Javascript解決方案是可以接受的,因爲JavaScript是必需的(而不是由我,不要拍攝信使)訪問。

謝謝!

回答

1

爲了確保頁面不會緩存,您需要在文檔的底部再放置一組「HEAD」標籤。

例如:

<HTML> 
<HEAD> 
<TITLE>No Cache</TITLE> 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1"> 
</HEAD> 
<BODY> 

... 

</BODY> 
<HEAD> 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1"> 
</HEAD> 
</HTML> 

source

- -

<meta http-equiv="cache-control" content="max-age=0" /> 
<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="expires" content="0" /> 
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> 
<meta http-equiv="pragma" content="no-cache" /> 

指定的日期應該是在過去的日期,這樣瀏覽器會立即丟棄緩存的副本或根本不緩存它。

+0

試過這個...它仍然顯示,如果我離開和後退按鈕進入頁面,刷新或退出然後向前回 –

+0

@RandyHall更新,給一個鏡頭。在嘗試這些解決方案之前,請記住清除緩存之前。 –

+0

還是沒有運氣,對不起。 –