dedlfix: Sicherheit

Beitrag lesen

echo $begrüßung;

Daraus kann aber nicht gefolgert werden, dass diese Maßnahme immer und überall mittels addslashes() vollständig und zufriedenstellend ergriffen werden kann. Eher das Gegenteil ist der Fall: Wenn überhaupt, hat man deutlich mehr Veranlassung, stripslashes() auf Formulardaten anzuwenden.

Wow! Jetzt erklär mir das mal, weiß grad nicht warum du stripslashes() anwenden willst?

Das PHP-Feature Magic Quotes maskiert Daten, so dass man sie in den Kontext "Datenbank" bringen kann. Allerdings gibt es nicht "Datenbank" sondern "MySQL-Datenbank", "Postgres-Datenbank", "Oracle-Datenbank" usw. Und es gibt noch eine Menge andere Kontexte, wie "HTML", "Datei" und "Socket", die die Daten nicht gemäß "Datenbank"-Kontext maskiert haben möchten.

Magic Quotes verändern die Eingabedaten für ein einziges generisches Ausgabemedium, ohne die vom Programmierer wirklich verwendeten Medien zu berücksichtigen. Sie sollen dabei helfen, SQL-Injection zu verhindern, setzen aber bei den Eingabedaten an, und das ist die falsche Stelle. Das Maskieren der Daten ist im Prinzip nur zu dem Zeitpunkt sinnvoll, an dem diese Daten in diesen Kontext gebracht werden sollen, also unmittelbar vor dem Versenden. Sind die Daten schon eher maskiert lässt es sich gegebenenfalls nicht mehr richtig mit ihnen arbeiten. ("Blödsinn" != "Blödsinn")

echo "$verabschiedung $name";