dedlfix: Mysql Error anzeigen

Beitrag lesen

echo $begrüßung;

Die mySQL-Fehlermeldungen bieten einen sehr guten Ansatz für SQL-Injection-Attacken und die willst Du sicher nicht.

Das bieten sie nur, wenn das Script potentiell anfällig ist gegen SQL-Injections. Wenn man ihm diese Anfälligkeit austreibt, entstehen zum einen weniger Fehler und Fehlermeldungen und es besteht auch kein Grund letztere wegen dieser SQL-Injections-Gefahr auszuschalten. Damit wird deren Ursache und die Möglichkeiten, sie auf unbeabsichtigte Weise ausnutzen zu können, nicht beseitigt.
Ein wesentlich wichtiger Grund ist, dass die Beschwerde der Datenbank beim Anwender falsch adressiert ist. Es ist nur der Leidtragende der Unfähigkeit anderer und kann an der Ursache sowieso nichts ändern. Eine passendere Adresse wäre ein Logging-Mechanismus, der vom Programmierer oder Systemverwalter regelmäßig kontrolliert wird. Dem Anwender bietet man lieber eine Alternative an, wie er doch noch zu seinem Ziel kommen könnte.

Gegen SQL-Injections und Fehler wegen unbeachteter Sonderzeichen hilft das Maskieren mit der für die Datenbank vorgesehenen Funktionen. Für MySQL ist das unter PHP mysql_real_escape_string(). Weiterhin ist bei PHP zu beachten, dass der Magic Quotes-Mechanismus eingeschaltet sein kann, der diese Funktion zwar übernehmen soll, aber nicht völlig dafür geeignet ist und dafür noch an anderen Stellen für Datenverfälschung sorgt.

echo "$verabschiedung $name";