Steusi
Nasenbär
Hallo Leute ich erstelle gerade ein Login-Script, meine Frage ist nun, was sollte ich auf jeder Seite prüfen, damit ich mir sicher bin das der User auch angemeldet ist?
Sollte man noch eine zusätzliche Session-Variable erzeugen? Reicht es nur zu prüfen, ob die Existiert oder auch ob sie mit dem DB-Eintrag überein stimmt?
Jetzt habe ich es in meinen Augen sehr unsicher:
Von meinem Login-Formular werden die Eingabedaten mit meiner DB verglichen:
Auf jeder Seite wird nur geprüft, ob die ID gesetzt ist, also brauch man nur eine ID setzten und kommt auf fast alle Seiten, wie regelt man das optimaler?
Sollte man noch eine zusätzliche Session-Variable erzeugen? Reicht es nur zu prüfen, ob die Existiert oder auch ob sie mit dem DB-Eintrag überein stimmt?
Jetzt habe ich es in meinen Augen sehr unsicher:
Von meinem Login-Formular werden die Eingabedaten mit meiner DB verglichen:
PHP:
##########################_____Datenbank auslesen_____###########################
// Eingegebene Date prüfen, ob diese in der Datenbank enthalten sind
$sql = "SELECT ".
"Id, Nickname, Kennwort, Rechte, login ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_POST["Nickname"]."') AND ".
"(Kennwort = '".md5 ($_POST["Kennwort"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
#####################_____Sessionvariabeln definieren_____#######################
// Sessionvariablen erstellen und registrieren aus den Arrayelementen
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
$_SESSION["user_password"] = $data["Kennwort"];
$_SESSION["user_rechte"] = $data["Rechte"];
$_SESSION["user_login"] = $data["login"];
Auf jeder Seite wird nur geprüft, ob die ID gesetzt ist, also brauch man nur eine ID setzten und kommt auf fast alle Seiten, wie regelt man das optimaler?
PHP:
<?php
session_start ();
if (!isset ($_SESSION["user_id"])) {
header ("Location: http://localhost/ORDNER/formular_login.php?session=1");
}
?>