Hallo Sven,
vielen Dank für deine sachliche und hilfreiche Erklärung.
(Ich schätze deine Comments immer sehr)
Du hast natürlich vollkommen recht wegen der Passwort Kodierung.
Ich hatte zuerst md5 aber aus folgendem Grund auf AES_ENCRYPT umgestellt.
Es handelt sich um eine ganz spezielle kleine Intranet Anwendung nur für ein paar wenige User. Nicht fürs Internet.
Neben dem normalen manuellen Login gibt es auch eine Art "Auto-Login" an einem LDAP Server.
Ich mache dies in der Art:
-----------------------------------------------------------------
$pass1 = rawurldecode($PWD);
$result = mysql_query("SELECT pwd, AES_DECRYPT(pwd,@pswd_key) as ergebnis FROM userdata WHERE usr='".addslashes($USER)."' && pwd='".addslashes($pass1)."'") or mysql_error();
$row = mysql_fetch_array($result);
$bd = @ldap_bind($ad, utf8_encode($USER).$at_dn , utf8_encode($row[ergebnis])) ;
if($bd == false){
$ldaperror = ldap_errno($ad);
if($ldaperror == "81"){
...
----------------------------------------------------------------------
Ich brauche also "AES_DECRYPT" um das "echte" Passwort unverschlüsselt mit dem LDAP Server zu vergleichen.
Mit MD5 geht das ja so nicht.
ich weiss es ist nicht die eleganteste Art.
Ich habe keine andere Idee wie man es sonst machen könnte.
Auch wegen der Verifizierung des User Passworts hast du recht.
Ich möchte alles auf "mysql_real_escape_string()" umstellen. Bisher arbeitete ich noch mit "Magic Quotes" (nicht schlagen :-) )
Du meinst also das Problem liegt an der falschen Spalten Definition des Spalte "pwd"?
viele Grüße und nochmals danke
hawk