Hallo Zusammen,
ich habe mir ein Login-Script unter Verwendung von Session gebaut und es funktioniert soweit auch alles wunderbar. Ich habe lediglich noch ein Problem, das ich trotz Suche im Web nicht lösen konnte.
Wenn ich mich mit meinem Script auslogge wird meine Session-ID gelöscht. Aber über die Zurück-Funktion des Browser gelange ich wieder in den Login-Bereich ohne neue Anmeldung mit der alten Session-ID.
Wie kann ich das verhindern?
Anbei die erforderlichen Code-Schnippsel:
Anmerkung zum besseren Verständnis des Codes:
Bei jedem Aufruf von index.php starte ich die Session. Wenn der Benutzer das Login-Formular ausfüllt, prüfe ich natürlich die zuerst die Formulardaten auf Richtigkeit und ob es diesen Benutzer überhaupt gibt. Wenn alles OK ist, befindet er sich dann im internen Bereich.
Wenn er sich ausloggt, wird an die URL die Variable $SLogout angehängt und er wird ausgeloggt. Dabei wird die Session-ID neu generiert.
Vielen Dank für Eure Hilfe im Voraus...
Frank
ich habe mir ein Login-Script unter Verwendung von Session gebaut und es funktioniert soweit auch alles wunderbar. Ich habe lediglich noch ein Problem, das ich trotz Suche im Web nicht lösen konnte.
Wenn ich mich mit meinem Script auslogge wird meine Session-ID gelöscht. Aber über die Zurück-Funktion des Browser gelange ich wieder in den Login-Bereich ohne neue Anmeldung mit der alten Session-ID.
Wie kann ich das verhindern?
Anbei die erforderlichen Code-Schnippsel:
PHP-Code:
session_start();
if (isset($_GET['SLogout']))
{
if (!isset($userID))
$userID = $_SESSION['UID'];
$_SESSION=array();
session_regenerate_id();
session_destroy();
session_unset();
// Show Logout-Confirmation Screen
?>
<html>
<head>
<title>GOOD BYE !!!</title>
<!-- Favicon -->
<link href="favicon.ico" rel="shortcut icon">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="1; URL=./index.php">
<link rel="stylesheet" href="./style/styleOUT.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" topmargin="1" leftmargin="1" rightmargin="1">
<table border="0" height="100%" width="100%" cellspacing="0" cellpadding="0" valign="center">
<tr align="center">
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr height="30" align="center">
<td class="body_b">Your logout was successful</td>
</tr>
<tr height="30" align="center">
<td class="body_b">You will be redirected in a few seconds...</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<?php
exit;
}
Bei jedem Aufruf von index.php starte ich die Session. Wenn der Benutzer das Login-Formular ausfüllt, prüfe ich natürlich die zuerst die Formulardaten auf Richtigkeit und ob es diesen Benutzer überhaupt gibt. Wenn alles OK ist, befindet er sich dann im internen Bereich.
Wenn er sich ausloggt, wird an die URL die Variable $SLogout angehängt und er wird ausgeloggt. Dabei wird die Session-ID neu generiert.
Vielen Dank für Eure Hilfe im Voraus...
Frank
Kommentar