suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Verhindern Sie, dass Benutzer nach dem Beenden zurückkehren

<p>Ich möchte nicht, dass der Benutzer nach dem Abmelden durch Klicken auf die Schaltfläche „Zurück“ zur geschützten Seite zurückkehrt. In meinem Abmeldecode deaktiviere ich die Sitzung und leite zur Anmeldeseite weiter. Ich glaube jedoch, dass der Browser die Seite zwischenspeichert, sodass sie trotz der Zerstörung der Sitzung durch das Abmelden immer noch sichtbar ist. </p> <p>Ich kann dies vermeiden, indem ich das Browser-Caching nicht erlaube</p> <p><code>header("Cache Control", "Kein Cache, kein Speicher, muss erneut validiert werden")</code></p> <p>Aber dann verliere ich den Vorteil des Browser-Cachings. </p> <p>Bitte schlagen Sie einen besseren Weg vor, dies zu erreichen. Ich habe das Gefühl, dass es eine Möglichkeit geben muss, dies über den Javascript-Client zu handhaben</p>
P粉029327711P粉029327711450 Tage vor527

Antworte allen(2)Ich werde antworten

  • P粉805931281

    P粉8059312812023-08-28 18:26:27

    我也遇到了同样的问题,花了一整天的时间来解决它, 最后修正如下:

    在登录验证脚本中,如果用户经过身份验证,则设置一个会话值,例如如下所示:

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

    然后在用户配置文件脚本中放入以下代码片段:

    以上代码的作用是,只有且仅当 $_SESSION['status'] 设置为 "Active" 时,才会转到用户个人资料,并且仅当用户经过身份验证时,此会话密钥才会设置为“Active”... [注意否定 [' ! '] 在上面的代码片段中]

    注销代码大概应该如下:

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

    希望这有帮助......!!!

    Antwort
    0
  • P粉613735289

    P粉6137352892023-08-28 11:20:58

    在 PHP 中实现此功能,而不是在 javascript 中。

    在每个页面的顶部,检查用户是否已登录。如果没有,他们应该被重定向到登录页面:

    正如您所提到的,注销时,只需取消设置logging_in会话变量,然后销毁会话:

    如果用户现在点击返回,则没有logged_in会话变量可用,并且页面将不会加载。

    Antwort
    0
  • StornierenAntwort