dedlfix: Bewertung: Ist dieses Skript einen Pfifferling wert?

Beitrag lesen

echo $begrüßung;

Es ist besser, (Schritt 1) wenn die Daten gleich zum Scriptbeginn von diesen Magic Quotes (oder anderen Transportsicherungen) bereinigt werden.

D.h. ganz zu Beginn prüfen ob magic_quotes_gpc aktiv ist und gegebenenfalls mit addslashes bereinigen:

Bereinigen bedeutet nicht, die Daten durch Maskieren gegen irgendetwas abzusichern, sondern das Gegenteil, sie in ihre Roh-Form zu bringen, sie zu demaskieren, damit man vernünftig damit weiterarbeiten kann.

addslashes()/Magic Quotes bereinigt nicht, es fügt eine Transportsicherung hinzu. Diese zusätzlichen Zeichen stören bei Stringoperationen und allerlei Ausgaben, die nicht im Zusammenhang mit Datenbankbefehlen stehen. Die Stringlänge von O'Conner ist 8 Zeichen. Durch M.Q. wird es aber zu O'Conner und strlen() ergibt 9 Zeichen. Diese Form ist also für die Weiterverarbeitung ungeeignet.
Wie ich schon ausführte, ist M.Q. nicht wirklich geeignet, in SQL-Befehlen für Datenintegrität zu sorgen. Solange es dieses Feature noch in PHP gibt, ist es deshalb besser, seine Auswirkungen komplett zu entfernen, bevor man mit den Daten weiterarbeitet. Erst zur Ausgabe erfolgt die Absicherung gemäß den Regeln des Ausgabemediums.

(wobei das bei mir doch gar nicht der Fall ist, da ich ja hier keine Formulare habe)

Das war ja nur mal ein Beispiel. Manchmal geht es mir darum, nicht nur speziell das eine Problem des Fragenden zu lösen, sondern auch die grundsätzliche Problematik eines bestimmten Themas zu erläutern. Das soll verdeutlichen, warum eine Vorgehensweise prinzipiell besser ist als eine bestimmte anderen, obwohl man mit der auch zum Ziel kommt.

echo "$verabschiedung $name";