PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

02-09-2003, 20:43
|
spikis
Newbie
|
|
Registriert seit: Sep 2003
Ort: Hessen
Beiträge: 15
|
|
login script, passwort mit md5
hallo,
ich will bei meinem Login Script die Passwortabfage mit md5 verschlüsseln (vergleich der Daten in der Datenbank und das eingegebene Passwort).
könnt ihr mir bitte dabei helfen ich bekomm das nich gebacken.
Hier erstmal die bisherige Abfrage:
PHP-Code:
<?
session_start();
include('var.inc.php');
if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);
$result = mysql_query("SELECT pass, seite FROM $tablename WHERE name = '$username'",$conn);
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}
$seite = $zeileholen["seite"];
session_register('username');
header ("Location:$seite");
?>
Ich hab es schonmal mit unten stehendem script probiert aber das sagt er mir, dass das eingegebene Passwort nicht mit dem in der Datenbank übereinstimmt ( in der Datenbank ist das pw md5 verschlüsselt vorhanden).
PHP-Code:
<?
session_start();
include('var.inc.php');
$passwortmd5 = md5($passwort);
if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);
$result = mysql_query("SELECT pass, seite FROM $tablename WHERE name = '$username'",$conn);
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
if ($zeileholen["pass"] <> $passwortmd5)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}
$seite = $zeileholen["seite"];
session_register('username');
header ("Location:$seite");
?>
Wo liegt der Fehler?
|

02-09-2003, 20:56
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
|
|
Ist das Passwort in der Datenbank auch MD5-verschlüsselt?
|

02-09-2003, 22:15
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
PHP-Code:
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
echo 'Eingegebens Passwort (MD5): '.$passwortmd5;
echo '<br />';
echo 'Passwort in DB: '.$zeileholen['pass'];
ausgabe?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

02-09-2003, 23:39
|
testuser
Newbie
|
|
Registriert seit: Aug 2003
Beiträge: 27
|
|
Zitat:
Original geschrieben von spikis
...( in der Datenbank ist das pw md5 verschlüsselt vorhanden)...
|
Zitat:
Original geschrieben von Wotan
Ist das Passwort in der Datenbank auch MD5-verschlüsselt?
|
hey wotan, augenkrebs ?
|

03-09-2003, 09:49
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Re: login script, passwort mit md5
du treibst diesen ganzen aufwand mit md5-verschlüsseltem passwort doch nicht etwa wirklich nur um anschliessend mit header() auf eine sowieso frei zugängliche seite weiterzuleiten, oder?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

03-09-2003, 17:55
|
spikis
Newbie
|
|
Registriert seit: Sep 2003
Ort: Hessen
Beiträge: 15
|
|
@mrhappiness
Ich hab den code mal in mein script eingebunden und versucht die Datei auf dem Webserver aufzurufen. Da gibt er mir volgendes aus:
Eingegebens Passwort (MD5): 598d4c200461b81522a3328565c25f7c
Passwort in DB:
PHP-Code:
<?
session_start();
include('var.inc.php');
$passwortmd5 = md5($passwort);
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);
$result = mysql_query("SELECT pass, seite FROM $tablename WHERE name = '$username'",$conn);
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
echo 'Eingegebens Passwort (MD5): '.$passwortmd5;
echo '<br />';
echo 'Passwort in DB: '.$zeileholen['pass'];
?>
@wahsaga
Die Seite auf die weitergeleitet wird, ist mit volgendem code geschützt:
PHP-Code:
if(!session_is_registered('username') || $_SESSION['username'] != "thomas") {
header("location:../login.htm");
die; }
Geändert von spikis (03-09-2003 um 18:03 Uhr)
|

03-09-2003, 20:24
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
PHP-Code:
$sql="SELECT pass, seite FROM $tablename WHERE name = '$username'";
echo 'SQL: '.$sql.'<br />';
$result = mysql_query($sql,$conn);
echo 'Anzahl Datensätze: '.mysql_num_rows($result);
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

03-09-2003, 20:49
|
spikis
Newbie
|
|
Registriert seit: Sep 2003
Ort: Hessen
Beiträge: 15
|
|
@mrhappiness
mit volgendem code gibt er
Zitat:
Eingegebens Passwort (MD5): 598d4c200461b81522a3328565c25f7c
Passwort in DB: 598d4c200461b81522a3
SQL: SELECT pass, seite FROM zugriff WHERE name = 'admin'
Anzahl Datensätze: 1
|
aus.
PHP-Code:
<?
session_start();
include('var.inc.php');
$passwortmd5 = md5($passwort);
$conn = mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);
$result = mysql_query("SELECT pass, seite FROM $tablename WHERE name = '$username'",$conn);
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
echo 'Eingegebens Passwort (MD5): '.$passwortmd5;
echo '<br />';
echo 'Passwort in DB: '.$zeileholen['pass'];
echo '<br />';
$sql="SELECT pass, seite FROM $tablename WHERE name = '$username'";
echo 'SQL: '.$sql.'<br />';
$result = mysql_query($sql,$conn);
echo 'Anzahl Datensätze: '.mysql_num_rows($result);
?>
|

03-09-2003, 20:58
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von spikis
Passwort in DB: 598d4c200461b81522a3
|
MD5-verschlüsselte daten sind immer 32 zeichen lang dachte ich
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

04-09-2003, 19:02
|
spikis
Newbie
|
|
Registriert seit: Sep 2003
Ort: Hessen
Beiträge: 15
|
|
Fehler gefunden!
Das Passwortfeld in der Datenbank war auf 20 Zeichen begrenzt.
Danke an mrhappiness und alle anderen die geholfen haben.
|

12-09-2003, 20:19
|
tomstig
Registrierter Benutzer
|
|
Registriert seit: Jul 2003
Ort: wr n
Beiträge: 878
|
|
frage:
wie kann man das passwort md5 verschlüsseln?
ich arbeite mit phpMyAdmin 2.4.0-rc2 und bei den typen gibt es weder password noch md5 zum auswählen...
komisch, denn ich hab in erinnerung, dass es das gegeben hat...
oder muss man folgendes machen:
PHP-Code:
$pwmd5=md5($pw);
$sql="INSERT INTO tabelle(name, pw) VALUES ('$name', '$pwmd5');"
mysql_query($sql);
(der mysql-code könnte fehler enthalten, aber das habe ich jetzt aus dem stehgreif hingeschrieben)
mfg thomas
|

19-09-2003, 14:03
|
pahandel
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 1
|
|
Das hat nichts mit einem Datentyp zu tun!
Unter phpMydmin 2.3.0 funktioniert die Verschlüsselung folgendermaßen:
Zu ändernden Datensatz wählen, beim Passwort-Feld Funktion 'MD5' wählen, im Feld 'Wert' das Passwort im Klartext eingeben und 'OK' kicken - voila.
Sollte wohl auch mit Deiner Version klappen?
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|