Gleichzeitiges Befüllen von Tabelle a_user und Tabelle user mit Daten

morphi79

Erfahrenes Mitglied
Ich habe ein Problem. Ich habe eine Tabelle a_user, welche mit daten befüllt wird, wenn sich ein User bei mir anmeldet. Soweit so gut. Nun möchte ich diese Daten, welche der User eingibt, gleichzeitig in eine andere Tabelle speichern. Die Spalten weichen untereinander ab. Deshalb dachte ich mir, ich setz einfach einen Befehl unter den ersten Eintrag in die Tabelle a_user. Dieser Eintrag funktioniert auch und sieht so aus:
Code:
$sql = "insert into ".$db_user." (id, nick, mail, passwort, status,punkte,l_punkte,team,infomail) values ('', '$nick', '$mail', '".md5($pass1)."', '1',0,0,0,1)";

Nun habe ich den Eintrag für die Tabelle user einfach darunter gesetzt:

Code:
$sql = "insert into user (ID, username, email, hidemail, passwort, ort, homepage, icq, geburtsdatum, geschlecht, interessen, beruf, signatur, rangtitle, postcount, regdate, lastlogin, localadmin, fulladmin, regforum, groupid, options, style, activation) 
 
values ('', '$nick', '$mail','', '".md5($pass1)."','''','''','''','''','''','''','''','''','''','''','''','''','''','''','''','''','''','''','''')";

So, wenn ich das jetzt so stehenlassen, dann werden die Einträge nur in der Tabelle user gespeichert, in der Tabelle a_user kommt nichts rein.


Generell ist es so, dass ich mit einer Anmeldung zwei unterschiedliche Tabellen mit Daten wie username, e-mail, passwort etc. füttern will.

Wer weiss mehr?
 
PHP:
$sql = "insert blablabla";
$sql = "insert blablabla blablabla";
mysql_Query($sql);
Sticht dir diese Logik ins Auge, die Schuld daran ist, dass nur das zweite ausgeführt wird?
PHP:
$sql = "insert blablabla";
mysql_Query($sql);
$sql = "insert blablabla blablabla";
mysql_Query($sql);
(!)
 
Noch ne Variante:
PHP:
$sql='';
$sql.= "insert blablabla;"; 
$sql.= "insert blablabla blablabla;"; 
mysql_Query($sql);
Damit hast Du nur einen Query uns sparst ein wenig Performance (sofern du jedes mal einen Connect machst und nicht mit einem fertigen Framework arbeitest).
 
hey, super, danke jungs. aber da ist noch etwas. es wird das passwort ja verschlüsselt. nun hab ich grad festgestellt, dass das passwort in der a_user zwar in sql das gleiche ist, wie in user, allerdings muss man sich für den zugriff auf user ein anderes passwort mitteilen lassen, welches man wieder ändern kann.
 
Prinzipiell:
1. Check ich die Frage nicht ganz
2. md5 ist ein "one-way encoding". Du hat keine Möglichkeit, das Passwort wieder zu entschlüsseln. D.h. Passwort nachsenden (Typische "Passwort vergessen" Sache) spielts nicht.

Mein Tipp:
Speichere das Passwort md5 verschlüsselt und zusätzlich noch blank. Für Login oder alle Vergleiche mit dem Passwort verwendest Du aus Sicherheitsgründen das md5 Passwort, fürs nachsenden liest Du das blank passwort aus.
Oder: Du machst keine Nachsende Funktion sondern generierst das Passwort neu.

Zum Thema Sicherheit:
Auf diesen Thread wird sicher folgen: "Passwort blank in einer DB speicher Das ist viel zu gefährlich". Aber glaube mir, wenn es mal jemand schafft Zugriff auf Deine DB zu bekommen (möglicherweise sogar als root), sind die Passwörter Dein kleinstes Problem. Die md5 Verschlüsselung hilft Dir allerdings, den Vergleich der Passwörter (Passwort beim Login VOR dem Post md5 verschlüsseln) sicherer zu machen. Optimal ist natürlich ein verschlüsseltes Passwort UND Secure Socket Layer (SSL).
 
Einfach zwei Attribute in die DB:
passwd_blank
passwd_md5

dort dann das passwort blank bzw. md5 verschlüsselt speicher, fertig
 
Was hab ich gesagt? Bin ein Hellseher auf dem Gebiet...
Das sagen viele, ohne jegliche Begründung (oder Jörg)?

Wenn jemand Zugriff auf Deine DB bekommt, würde ich mir mehr Sorgen um den Datenschutz machen (wie Adresse, Name etc.) als um die Passwörter....

Außer es kann mich hier jemand mit einem guten Argument vom Gegenteil überzeugen ("bitte überlies das" ist kein sonderlich konstruktives Argument in meinem Augen ;)
 
Ok, Entschukdigung, ich wollte diese Disskussion vermeiden und habs deshalb diese unkonstruktive Antwort verfasst.

Um dich zu einer schnellen "Einsicht" zu bewegen, fang ich jetzt gar nicht erst über Pro und Kontra an. Ich drehs andersherum:

Du animierst User dieses Forums dazu Passwörter im Klartext zu speichern und damit gegen Datenschutzrichlinien zu verstossen!

Du bist doch auch schon älter. Erinnerst du dich noch an Polizeileitspruch "Gelegenheit macht Diebe!"?
So seh ich es auch hier. Wer fahrlässigerweise und ohne Genemigung Daten unverschlüsselt bereithält, muss auch in einem Datendiebstahl seinen Kopf hinhalten.

Dies würde sich halt vermeiden lassen.
 
Zurück