Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
 
 
 

[code] Passwörter mit md5 verschlüsselt speichern und abfragen

Sie befinden sich: Home > Webmaster News

Dies ist eine Ergänzung zum Passwort-Tutorial


Unsere Usertabelle hat folgenden Aufbau:


CREATE TABLE `user` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `username` varchar(12) NOT NULL default '',
  `passwort` varchar(32) NOT NULL default '',
  `name` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`),
  KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;



Wenn ein neuer User sich anmeldet, so soll er selbst einen Usernamen und ein Passwort vorgeben. Wir müssen dann zuerst prüfen, ob der Username schon vorhanden ist und die Eingabe ggf. abweisen:


<?php
$sql = "SELECT 
          count(*) AS COUNT 
        FROM 
          user 
        WHERE 
          username = '" . mysql_real_escape_string(trim($_POST['username'])) . "'";
$erg = mysql_query($erg) or die (mysql_error());
$row = mysql_fetch_assoc($erg);
if($row['count'] > 0) {
   echo 'Username schon gespeichert';
} else {
   $sql = "INSERT INTO 
              user 
           SET 
              username ='". mysql_real_escape_string(trim($_POST['username'])) . "'
              passwort = '" . md5($_POST['passwort']) . "'
              name = '" . mysql_real_escape_string(trim($_POST['name'])) . "'";
   mysql_query($erg) or die (mysql_error());
   echo 'Ihre Daten sind gespeichert. Sie können sich nun einloggen.';
?>



Beim Einloggen gibt der Anmelder nun seinen usernamen und sein passwort in ein Formular ein. Wir müssen nun nach 'username' und md5 ('passwort') suchen:


<?php
$sql = "SELECT 
          name
        FROM 
          user
        WHERE
           username = '" . mysql_real_escape_string(trim($_POST['username'])) . "'
        AND
            passwort = '" . md5($_POST['passwort']) . "'";

?>

Achten Sie darauf, dass das Passwortfeld in der Datenbank 32 Zeichen lang ist. Falls es kürzer definiert wurde, wird ein Teil beim Speichern abgeschnitten und der Vergleich bei der Anmeldung scheitert.

Ihre Anwendung sollte eine Funktion haben, mit der ein User sich helfen kann, wenn er sein passwort vergessen hat. Da das vergessene Passwort aber verschlüsselt gespeichert ist, muss das Script ein neues Passwort erzeugen, dies im Klartext an den User mailen, und den zugehörigen md5-hash speichern.

Ein neues 6-stelliges Passwort können Sie z.B. so erzeugen lassen:


<?php
$passwort = md5 (uniqid (rand()));
$passwort = substr($passwort,0,6);
?>





(Autor: WolfgangWolfgang), Eingetragen am 27.08.2008


Schreib ein Kommentar

Name
Mail
Webseite
Kommentar