Passwort übertragen

xony

Erfahrenes Mitglied
Hallo Leute,

ich habe ein kleines Loginscript.
Das Passwort musste ich bisher immer selbst in der DB ändern.

Jetzt habe ich mir ein kleines Script geschrieben, jedoch hab ich keine Ahnung wie ich das Passwort so übertrage das es auch verschlüsselt ist.

Wenn ich das manuell per phpmyadmin getan habe dann sah das so aus:

INSERT INTO administrators SET admin_user='admin', admin_pass=PASSWORD('admin');

Die Abfrage in meinem Script ist so:

if ($REQUEST_METHOD=="POST")
{
mysql_query('REPLACE INTO administrators (admin_id, admin_user, admin_pass) VALUES (1, "'.mysql_escape_string($user).'", "'.mysql_escape_string($pass).'")')
or die(mysql_error());

}

wie kann ich das ändern...das mein Passwort mit der Funktion PASSWORD übertragen wird.

DAnke im vorraus.
 
Ich würde in der Datenbank einen md5 oder sha1 hash vom passwort speichern.
Beim einloggen vom eingegeben oasswort ebenfalls den hash bilden und vergleichen - fertig.
 
Ja der Hash wird ja auch gebildet wenn ich das Passwort manuell in die DB einspiele also so:


INSERT INTO administrators SET admin_user='admin', admin_pass=PASSWORD('admin');

aber wie mache ich das anhand meines Codes zum Updaten der Benutzerdaten:

if ($REQUEST_METHOD=="POST")
{
mysql_query('REPLACE INTO administrators (admin_id, admin_user, admin_pass) VALUES (1, "'.mysql_escape_string($user).'", "'.mysql_escape_string($pass).'")')
or die(mysql_error());

}

Man muss doch irgendwo sagen können das die Variable mysql_escape_string($pass) als Hashwert übertragen werden soll.

Gruss
 
Mit INSERT INTO funktioniert es ja einwandfrei, das mein PAsswort als HASH übertragen wird.
Aber mein Problem ist beim REPLACE INTO befehl.

Jemand ne Idee?

Gruss
 
Also du hast ne tabelle wo user gespeichert sind und du das PW nachträglich verschlüsseln willst, per script.

PHP:
<?
  $result=mysql_query('SELECT * FROM tabelle');

  for($i=0;$user[$i]=mysql_fetch_assoc($result);$i++){
    mysql_query('UPDATE tabelle SET pw = "'.sha1($user[$i]['pw']).'" WHERE id="'.$user[$i]['id'].'"');
  }


?>
 
Zuletzt bearbeitet:
Hey xony,

du kannst es genau so machen wie in phpmyadmin.

PHP:
if ($REQUEST_METHOD=="POST")
{
mysql_query('REPLACE INTO administrators (admin_id, admin_user, admin_pass) VALUES (1, "'.mysql_escape_string($user).'", PASSWORD("'.mysql_escape_string($pass).'"))')
or die(mysql_error());
}
 
Zurück