CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
07.10.2004, 20:47:48
|
|
md5 Passwort verschlüsseln
Hi Leute,
hab da folgendes Problem:
In dem folgenden Code soll ein angemeldeter User sein Passwort ändern können.
Doch leider kann ich das passwort ändern, nur wenn ich mich danach versuche damit einzuloggen, dann geht das nicht.
PHP-Code:
?>
<table align=center>
<tr>
<td>
<form action="userhome.php" method="post">
<tr><td width=50>Name:</td><td><? echo $_SESSION[username] ?><br><br></td></tr>
<tr><td width=50>Passwort:</td><td><input type="text" name="usepass" size="40" value=""><br><br></td></tr>
<tr><td width=50>E-Mail:</td><td><input type="text" name="usemail" size="40" value="<? echo $usermail ?>"><br><br></td></tr>
<tr><center><input type="submit" name="aendernuser" value="Speichern"><br><br></center></tr>
</form>
</td>
</tr>
</table>
<?
$userpa = md5($_POST['usepass']);
if($aendernuser) {
mysql_query("UPDATE users SET PASSWORD='$userpa', email='$usemail' WHERE username='$_SESSION[username]'");
echo"<center><b>Ihre Daten wurden geändert!!</b></center>";
}
Wenn alles richtig ist, dann wird das übergebene Passwort aus dem Formular mit md5 verschlüsselt.
Aber wenn ich mich dann einloggen will, dann ist das Passwort falsch.
hab ich da irgendwo einen Fehler drin?
|
07.10.2004, 21:42:46
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Hast du mal mit beispielsweise phpMyAdmin geprüft, ob das Passwort richtig eingetragen wird?
|
07.10.2004, 23:45:49
|
|
Also ich habe nur in der Datenbank gesehen, daß sich das Passwort geändert hat.
Ich kann aber durch die Verschlüsselung aber nicht sehen, wie es genau lautet.
Hast du eine Idee?
|
08.10.2004, 01:25:06
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
Zitat:
Original geschrieben von Holstenjungs
Also ich habe nur in der Datenbank gesehen, daß sich das Passwort geändert hat.
|
Fein. Darf man das so verstehen, daß Du "irgendwo KLICK gemacht hast, und es hat sich "<was auch immer>" verändert?
Zitat:
Ich kann aber durch die Verschlüsselung aber nicht sehen, wie es genau lautet.
|
Jou. So is das eben das Leben. Verschlüsselt is verschlüsselt.
Wie war noch mal die Frage?
Zitat:
In dem folgenden Code soll ein angemeldeter User sein Passwort ändern können.
Doch leider kann ich das passwort ändern, nur wenn ich mich danach versuche damit einzuloggen, dann geht das nicht.
|
Fein. Und wie wurde das Paßwort verschlüsselt?
So?
PHP-Code:
mysql_query("UPDATE users SET PASSWORD='$userpa', email='$usemail' WHERE username='$_SESSION[username]'");
Jut, wo die Variablen $userpa und $usemail gesetzt wurden, wissen allerdings die Götter. Ich hoffe dabei nur inständigst, daß PHP bei Deinen Scripten nur das tut, was es Deiner Meinung nach tun soll, und nicht das, was Du programmierst.
btw: ich will Dich nicht anmachen, aber meinst Du wirklich, daß Deine Frage die inhaltliche Qualität besitzt, beantwortbar zu sein?
Geändert von meikel (†) (08.10.2004 um 01:33:21 Uhr)
|
08.10.2004, 09:22:59
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
> Ich kann aber durch die Verschlüsselung aber nicht sehen, wie es genau lautet.
du weißt wohl noch was du eingetippt hast, oder? wenn du ein und den selben string 1000000 mal durch md5 jagst, kommt immer wieder das gleiche bei raus.
na, kannst also doch abgleichen.
> Wenn alles richtig ist, dann wird das übergebene Passwort aus dem Formular mit md5 verschlüsselt.
es ist ja anscheinend nicht alles richtig, also wird da irgendwo ein fehler sein.
|
08.10.2004, 13:14:16
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
@meikel
> ... aber meinst Du wirklich, daß Deine Frage die inhaltliche Qualität besitzt, beantwortbar zu sein?
Geiler Ausdruck. Muß ich mir merken.:-)))
|
08.10.2004, 19:02:35
|
|
@meikel: Wenn du dir meinen Beitrag genau durchgelesen hättest, dann würdest du auch mitgekriegt haben, daß das Passwort mit md5 verschlüsselt wird.
@feuervogel: kann man eine md5 Passwort auch irgendwie wieder entschlüsseln?
|
08.10.2004, 19:37:30
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Nein, md5 lässt sich nicht wieder entschlüsseln.
Aber mach doch mal folgendes:
Du erstellst dir eine PHP Seite mit folgendem Inhalt:
PHP-Code:
<?php
print md5('123456');
?>
Anschließend änderst du über dein Formular dein Passwort in 123456.
Nun kannst du den Eintrag in MySQL mit der Ausgabe, die du in der vorher erstellten Datei erhalten hast, vergleichen. Weiterhin würde ich mir das Passwort vor dem Eintrag in die Datenbank sowohl noch nicht verschlüsselt als auch schon verschlüsselt anzeigen lassen. Vermutlich ist da bereits nicht mehr alles in Ordnung.
|
08.10.2004, 20:19:52
|
|
Jetzt werden mich alle bestimmt für einen Idioten halten, aber ich habe die Passwörter verglichen. Sie sind identisch.
Aber ich kann mich trotzdem nicht einloggen.
Da ich jetzt mit meinem Rat am Ende bin, werde ich es wohl einfach lassen sowas zu programmieren.
Aber Danke an Alle die mir helfen wollten.
|
08.10.2004, 20:39:58
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
Zitat:
Original geschrieben von Holstenjungs
meikel: Wenn du dir meinen Beitrag genau durchgelesen hättest, dann würdest du auch mitgekriegt haben, daß das Passwort mit md5 verschlüsselt wird.
|
Das ist Deinem Script nach wie vor nicht zu entnehmen.
Setzen:
PHP-Code:
mysql_query("UPDATE users SET PASSWORD=MD5('$_POST[userpa]'), email='$_POST[usemail]' WHERE username='$_SESSION[username]'");
Login:
PHP-Code:
mysql_query("SELECT * FROM users WHERE PASSWORD=MD5('$_POST[userpa]') AND username='$_POST[username]'");
MySQL besitzt ebenfalls eine MD5 Funktion.
Du wirst aber das Problem haben, daß MySQL den Bezeichner PASSWORD nicht mögen wird, weil das ein reserviertes Wort ist.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:41:24 Uhr.
|