Loginsystem

soa

Erfahrenes Mitglied
Hallo,

ich hätte gern einmal eine oder auch zwei Meinungen bezüglich meines Vorgehens:

Mein Login habe ich mit Hilfe von Sessions realisiert.



Es gibt eine Funktion, die in der Datenbank checkt, ob der Benutzer existiert und
ob benutzername und passwort korrekt sind. Wenn die Daten stimmen, speicher
ich diese Daten in einem Array ab.

$_SESSION["benutzer"] = $benutzername;
$_SESSION["pass"] = $passwort;

Diese Daten übergebe ich aber nicht großartig, sondern ich arbeite mit dem Array weiter.

Wenn also eine Seite aufgerufen wird, die nur ein Mitglied betreten darf, sieht das so aus.

Code:
<?php session_start ();
include_once('header.php');

if(!$_SESSION["benutzer"] || $_SESSION['benutzer'] == "")
   {
   $fehler = "Als Besucher kannst du keine Beiträge posten, bitte erst anmelden"; 
  echo '<head><meta http-equiv="refresh" content="0; URL=fehler.php"></head>';
   }
   
   else
   {.....and so on!

Den Namen des Benutzers gebe ich auch über das Array auf jeder Seite aus.

Das läuft, nur kommt mr das irgendwie spanisch vor....

Wieso als Cookie speichern
setcookie(session_name(), session_id(), time()+3600);

oder wieso ein DB_spalte "usersession" mit 0 oder 1 belegen?

Wo liegt da der Sinn?
 
Das mit dem Cookie macht meiner Meinung nicht wirklich Sinn. Denn wenn Du ganz normal mit $_SESSION arbeitest wird auch ein Cookie, und zwar ein Session-Cookie, gespeichert.

Das mit dem DB-Eintrag kann ich nicht nachvollziehen, denn dazu hast Du keinen Code angegeben wo das gesetzt, bzw. genutzt wird.
 
Cookie ist dann sinnvoll, wenn du faule User hast. Beim betreten der Seite wird der User Automatisch eingeloggt, so wie das ja auch hier bei tutorials.de der Fall ist.

Und zur DB kann ich auch nix sagen :D

mfg
 
Nur so wie dieser Cookie gespeichert wird bringt das dem faulen User nix. Denn es wird ein Cookie mit dem Namen session_name() und dem Inhalt session_id() gespeichert, es besteht also offensichtlich kein Bezug zum User.
Der normale Session-Cookie ist, mein ich, so aufgebaut:
Name=session_name()session_id()
Und dann eben der Inhalt, z.B. die UserID
Ausserdem ist die Lebensdauer eines Session-Cookies per Default 0, also bis der Browser geschlossen wird.
Hier im Script wird die Lifetime auf 30 Minuten gesetzt, und besonders das bringt dem faulen User nix.
 
Ooops, sollte mehr lesen :D

Logisch, man sollte dann schon im Script das Cookie mit Username und am Besten md5-gehashten Passwort speichern. :)

mfg
 
ne, kenn ich nicht. Und es müsste eigentlich auch "md5-gehashtes Passwort" oder wohl besser "mit der md5() Funktion erstellten Hashwert des Passwortes" heißen.

Aber 50 Cent sind mir für meine Deutschkenntnisse zu teuer :D

mfg
 
Ich hätte es so geschrieben: „am besten das Passwort als md5-Prüfsumme speichern“.
 
OK. Vielen Dank ....

Also kann man das schon so machen. Ich lasse den Cookie dann erst einmal weg.
Das mit der md5() Verschlüsselung ist besimmt auch keine schlechte Idee :)

Schönen Sonntag Abend
 
MD5 ist keine Verschlüsselung, sondern ein Prüfsummenalgorithmus. Dieses Thema wurde hier schon sehr oft behandelt und breit getreten.
 

Neue Beiträge

Zurück