Hmh...
Ich weiss ja nicht, aber über des Script aus dem Tutorial kann man SQL Injections machen... Da gibts ja keinerlei sicherheitsmechanismen, ziemlich fahrlässig sowas sensibles als Tutorial zu veröffentlichen.
PHP:
$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);
da könnt man per url folgendes machen:
http://[domain]/[pfad]/login.php?name=namedesadmins&pwd=bla' OR id='1'
und zack müsste man eingeloggt sein. Warum? fehlende Sicherheitsmechanismen.
Erstens: Superglobale wie $GLOBAL und vor allem $_REQUEST nimmt man NICHT! IMMER die Superglobale nehmen, die auch übertragen wird, sprich $_GET oder $_POST. zudem sollte eine abfrage dann folgendermaßen aussehen:
PHP:
$name = $_POST['name'];
$pwd = $_POST['pwd'];
$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".mysql_real_escape_string($name)."') AND ".
"(Kennwort = '".md5 ($pwd)."')";
$result = mysql_query ($sql);
nehnehneh... versteh ich nich, warum man tutorials schreibt, die so unsicher sind. Ich denke man sollte die User gleich mit der harten Realität konfrontieren und denen einbleuen, dass sie ihre Script sicher machen müssen. Zumindest nach bestem Wissen und Gewissen.
ich selbst habe ein Loginscript entwickelt, bei dem ich 2 sessions nutze - eine PHPSession und eine eigene, die sich alle 60 sekunden erneuert und beim user und in der Datenbank abgespeichert ist. Somit ist es so ziemlich unmöglich den Account zu highjacken, denn einen 128bit schlüssel zu klauen oder nachzubilden dauert weit länger als 60 sekunden^^. Die PHP-Session dient hierbei eher als zusätzliche Kontrolle und als Userdaten-Speicher^^
So, das dazu^^
worauf ich hinaus will: TribunM - mach dich DRINGEND mit der Sicherheit von PHP vertraut, bevor du etwas so sensibles wie datenbankbasierte Anwendungen (Loginscript, Newsscript etc) öffentlich nutzt.
Und vor allem: Gebe NIEMALS die PHP-Sessionid über die Url weiter, wie es teilweise in einigen Tutorials im Inet gemacht wird.. Benutze NIEMALS $GLOBAL und $_REQUEST, sondern frage immer die Methode ab, die du auch übergibst. Nutze bei Datenbankabfragen immer mysql_real_escape_string(); und strip_tags(); (damit werden HTML und PHP-Tags rausgefiltert).
Ansonsten viel spass
PHP ist nicht schwer, bis mans verstanden hat dauerts aber. Und bis dahin empfehle ich eher fertige CMS-Systeme zu nutzen und diese zu studieren, bevor du ein eigenes Loginsystem programmierst.