O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

2079.13 Fazit
Argument annehmen. Wird als zu filternde Variable ein Array überge-
ben, so wird für jedes Element des Arrays
filter_var() einmal ausge-
führt – um mehrere Werte an eine Callback-Funktion zu übergeben,
müssten Sie also einen Umweg gehen und die Werte z.B. in einem seri-
alisierten Array als String übergeben. Das kann jedoch nicht der rich-
tige Weg sein, es bleibt also die Hoffnung auf einige API-Änderungen
in der Zukunft.
9.13 Fazit
Wie sich die Filter-Extension entwickeln wird, bleibt weiterhin abzu-
warten. Richtig ist, dass sie im PHP-Kern eine Lücke schließt, die bis
dato von benutzerdefinierten Funktionen in PHP geschlossen werden
musste. Auch der Ansatz, über
input_filter() nur selektiv die Teile der
Request-Variablen in den Skriptkontext zu importieren, die den Filter-
regeln genügen, ist sinnvoll. Es bleibt jedoch zu bezweifeln, ob die API
und die bewusste Entscheidung der Autoren gegen einen OOP-Ansatz
Bestand haben werden. Gegenwärtig ist das Layout der Filter-API völ-
lig konträr zu den für PHP üblichen Konventionen – statt einer Funk-
tion, die mit einer unüberschaubaren Anzahl von Konstanten arbeitet,
sollten eher für jede Filteraktion eigene Funktionen implementiert wer-
den.
Die Handhabung der Extension ist nicht nur durch diese Beschrän-
kung auf zwei bis vier Kernfunktionen sehr umständlich – auch die
Tatsache, dass teilweise essenzielle Optionen als optionales Array
übergeben werden, bleibt unverständlich. So sind manche Filter im
Standardmodus schlicht unnütz, wie etwa der URL-Filter. Ein URL,
der »foobar,blah« heißt, kommt nur in seltenen Fällen vor – unerfah-
rene Entwickler könnten sich hier durch einen zu permissiven Default-
Modus einem trügerischen Gefühl von Sicherheit hingeben.
Zu guter Letzt machen einige Unschönheiten in der API die Arbeit
mit der Filter-Extension bisweilen etwas mühselig. Eine PHP-Exten-
sion in den Kern aufzunehmen, die derart von den grundsätzlichen
Paradigmen der PHP-Entwicklung abweicht, war eine mutige Ent-
scheidung, die für einige Kontroversen gesorgt hat.
9 Variablenfilter mit ext/filter208

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required