2013-03-14 268 views
2

我使用以下代碼行在註銷後禁用瀏覽器後退按鈕問題。瀏覽器後退按鈕

function LogoutOnClick() { 
    window.history.go(-1); 
} 

但是,有一個問題與此代碼,假如我有三頁的第一個是登錄頁面(login.cshtml)和第二成功登錄頁面(home.cshtml)和第三頁是關於頁面(about.cshtml),

我現在登錄,然後會重定向我的home.cshtml頁現在我謹about.cshtml第三頁之後,我就退出從about.cshtml頁,它重定向我的login.cshtml頁。

現在,如果我clicked on browser back button然後再次在about.cshtml頁面上重定向我,但用戶無法更改或添加任何內容。

所以,讓我知道是否有任何適當的代碼或方法來解決這個問題。

回答

5

您需要禁用瀏覽器緩存頁面,這些頁面僅在登錄時纔可見,以防止用戶在註銷後返回到他們登錄時所擁有的頁面。那麼你不需要擔心禁用後退按鈕。如果他們嘗試訪問要求他們登錄的頁面,則會將其重定向到登錄頁面。

+0

如何禁用JavaScript或jQuery的頁面緩存? – 2013-03-14 09:53:20

+0

@ user1273915你用什麼來製作頁面?無論如何,都需要在''標記中添加這些元標記: ' – 2013-03-14 11:32:59

4

要禁用回瀏覽器按鈕瞭解更多:here

我認爲這個代碼將可以幫助你:

<SCRIPT type="text/javascript"> 
    window.history.forward(); 
    function noBack() { window.history.forward(); } 
</SCRIPT> 
</HEAD> 
<BODY onload="noBack();" 
    onpageshow="if (event.persisted) noBack();" onunload=""> 

編輯:對於禁用註銷檢查後,這樣的:here

+1

以上代碼停止後退按鈕所有的時間什麼,但我想只有在註銷的情況下,停止後退按鈕。 – 2013-03-14 09:32:12

1

我不認爲,禁用瀏覽器中的後退按鈕是你想要的,或者不是你想要的!從安全角度來看,您應該嘗試銷燬會話。而且您應該在網頁的每個請求中證明權限。

想想,要存檔;-)

+0

我已經銷燬了這個會話。 – 2013-03-14 09:35:28

+0

然後我不明白你爲什麼要禁用後退按鈕? – Anton 2013-03-14 09:42:35

+0

,因爲註銷後,當我點擊返回按鈕時,如果我遍歷AdminPanel中的所有頁面,它將在管理菜單中移動。 Bernhard表示, – 2013-03-14 09:49:02