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

9 Variablenfilter mit ext/filter196
9.2 Installation
Verwenden Sie PHP 5.2.0 oder eine neuere Version, müssen Sie nichts
weiter tun: Ihr PHP enthält die Filter-Extension bereits, und sie ist akti-
viert. Ist das jedoch nicht der Fall, können Sie für ältere PHP-Versio-
nen die Extension aus PECL nachinstallieren. Ist Ihr PHP älter als
5.1.0 bzw. verwenden Sie noch PHP 4, kommen Sie leider nicht in den
Genuss der neuen Extension – die notwendigen Änderungen am PHP-
Kern wurden erst in Version 5.1.0 eingeführt.
Möchten Sie ext/filter aus PECL nachinstallieren, können Sie das
entweder automatisch mit dem Kommando
pecl install filter oder
manuell erledigen:
wget http://pecl.php.net/get/filter
tar xzf filter
cd filter-0.11.0
phpize
./configure
make
make install
In beiden Fällen müssen Sie nach der Installation die Extension von
PHP laden lassen – das erledigen Sie mit einem Eintrag in der
php.ini.
extension=filter.so
Nach einem Webserver-Neustart können Sie die neuen Filterfunktio-
nen nutzen.
9.3 Die Filter-API
Im Gegensatz zu vielen anderen PHP-Extensions, die für verschiedene
Features eigene Funktionen implementieren (z.B.
ImagePNG(), ImageJ-
PEG()
etc. bei GD), kommt ext/filter mit insgesamt nur sieben Funktio-
nen aus, von denen nur vier für das tatsächliche Filtern verwendet wer-
den. Diese vier Funktionen unterteilen sich in Funktionen, die
Eingabedaten direkt aus einem User-Scope entgegennehmen und gefil-
tert an das Skript weitergeben, und solche Funktionen, die eine bereits
in PHP vorhandene Variable filtern.
Welche Filter tatsächlich angewendet werden, wird der jeweiligen
Filterfunktion über eine Konstante mitgeteilt, etwaige Optionen finden
Platz in einem assoziativen Array, das optional und meist als letztes
Argument für den Funktionsaufruf übergeben wird.
Die Funktionen
filter_input() und filter_input_array() sind
dafür zuständig, Variablen aus einem externen Kontext zu importieren
und zu filtern. Die Funktionen unterscheiden sich nur darin, dass die

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