防止用戶退出後返回
P粉029327711
P粉029327711 2023-08-27 19:48:23
0
2
524
<p>我不希望用戶在登出後透過點擊後退按鈕返回到受保護的頁面。在我的登出程式碼中,我取消設定會話並重定向到登入頁面。但是,我認為瀏覽器正在快取該頁面,因此儘管會話因註銷而被破壞,但它仍然可見。 </p> <p>我可以透過不允許瀏覽器快取來避免這種情況</p> <p><code>header("快取控制", "無緩存,無存儲,必須重新驗證")</code></p> <p>但這樣我就失去了瀏覽器快取的優勢。 </p> <p>請提出一個更好的方法來實現這一目標。我覺得,一定有方法可以透過 javascript 用戶端來處理這個問題</p>
P粉029327711
P粉029327711

全部回覆(2)
P粉805931281

我也遇到了同樣的問題,花了一整天的時間來解決它, 最後修正如下:

在登入驗證腳本中,如果使用者經過驗證,則設定一個會話值,例如如下所示:

$_SESSION['status']="Active";

然後在使用者設定檔腳本中放入以下程式碼片段:

以上程式碼的作用是,只有且僅當$_SESSION['status'] 設定為"Active" 時,才會轉到使用者個人資料,並且僅當當使用者經過驗證時,此會話金鑰才會設定為「Active」... [注意否定[' ! '] 在上面的程式碼片段中]

註銷程式碼大概應該如下:

{
    session_start();
    session_destroy();
    $_SESSION = array();
    header("location:login.php");
}

希望這有幫助......!!!

P粉613735289

在 PHP 中實作此功能,而不是在 javascript 中。

在每個頁面的頂部,檢查使用者是否已登入。如果沒有,他們應該被重定向到登入頁面:

如您所提到的,登出時,只需取消設定logging_in會話變量,然後銷毀會話:

如果使用者現在點擊返回,則沒有logged_in會話變數可用,且頁面將不會載入。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板