php, codeschnipsel, php beispielen
[code] Passwörter mit md5 verschlüsselt speichern und abfragen

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

Userbereich
kostenlos Anmelden
Memberliste

Script Datenbank
Script Archiv
Script Top 20
Screenshots
Testberichte

Suche

 
Script Seite

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

yellowgrey.de
Bei den Anbieter yellowgrey.de bekommt man alles w...

Goneo.de
Bei diesen Anbieter bekommt man Webspace, Domains,...

weitere Anbieter
PHP Space Community auf Facebook PHP Space Community auf Twitter RSS Feeds der PHP Space Community

 

Statistik
15 Gäste Online
0 Member Online
49 Besucher heute
1209 Besucher gestern
 

[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:

Quelltext: PHP
1

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:

Quelltext: PHP
1

<?php
$sql 
"SELECT 
          count(*) AS COUNT 
        FROM 
          user 
        WHERE 
          username '" 
mysql_real_escape_string(trim($_POST['username'])) "'";
$erg mysql_query($ergor 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($ergor 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:

Quelltext: PHP
1

<?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:
Quelltext: PHP
1

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




(Quelle: Wolfgang ), Eingetragen am 27.08.2008


Schreib ein Kommentar

Name
Mail
Webseite
Kommentar



 
 
Webhosting Service | Board Features