SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.10.2004, 20:47:48
Holstenjungs
Guest
 
Beiträge: n/a
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?
Mit Zitat antworten
  #2  
Alt 07.10.2004, 21:42:46
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Hast du mal mit beispielsweise phpMyAdmin geprüft, ob das Passwort richtig eingetragen wird?
Mit Zitat antworten
  #3  
Alt 07.10.2004, 23:45:49
Holstenjungs
Guest
 
Beiträge: n/a
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?
Mit Zitat antworten
  #4  
Alt 08.10.2004, 01:25:06
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
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)
Mit Zitat antworten
  #5  
Alt 08.10.2004, 09:22:59
feuervogel feuervogel ist offline
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.
Mit Zitat antworten
  #6  
Alt 08.10.2004, 13:14:16
Marilu Marilu ist offline
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.:-)))
Mit Zitat antworten
  #7  
Alt 08.10.2004, 19:02:35
Holstenjungs
Guest
 
Beiträge: n/a
@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?
Mit Zitat antworten
  #8  
Alt 08.10.2004, 19:37:30
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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.
Mit Zitat antworten
  #9  
Alt 08.10.2004, 20:19:52
Holstenjungs
Guest
 
Beiträge: n/a
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.
Mit Zitat antworten
  #10  
Alt 08.10.2004, 20:39:58
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
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.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:41:24 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt