dedlfix: nach Login gültigen Account prüfen

Beitrag lesen

echo $begrüßung;

  1. ein mit md5 verschlüsseltes Passwort solltest du vorher nicht mit mysql_real_escape_string() behandeln. Es kann vorkommen, dass du dann einen anderen Hash in die Datenbank speicherst, als den vom Originalpasswort generierten Hash.
    Wenn ich das richtig verstanden habe ...
    erst escapen und dann durch die md5 Funktion jagen?

Nein, erst nachdenken, dann implementieren. Genau sorum hast du es ja jetzt schon. Wofür wird denn das Maskieren gemacht? Weil ein ' als Datenbestandteil in einem mit ' begrenzten String den String beendet und nachfolgende Daten nicht mehr als Daten angesehen werden. Es ist also der Kontext "String im SQL-Statement" zu beachten. Wenn du nun aus einem ' ein ' machst und von solch einem String den Hashwert berechnest, bekommst du einen anderen Wert als ohne . Der Kontext ist hier aber Hashwert errechnen und nicht "String im SQL-Statement", eine Maskierung fehl am Platz.

Ein md5()-Ergebnis ist garantiert ein String ohne kritische Zeichen. Es reicht also den Wert unbehandelt in das SQL-Statement einzufügen. Andererseits schadet es auch nicht, auf den MD5-Wert eine Maskierung anzuwenden.

echo "$verabschiedung $name";