Filter Funktionen
Einführung
Diese Erweiterung validiert und filtert Daten die normalerweise aus unsicheren Quellen, wie z.B. Benutzereingaben, kommen.
Die folgenden Filter sind aktuell verfügbar. Lesen Sie den Abschnitt Filter-Konstanten, der das Verhalten der einzelnen Konstanten beschreibt:
ID | Name | OptionEN | Flags | Beschreibung |
---|---|---|---|---|
FILTER_VALIDATE_INT | "int" | min_range , max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Validiert Werte als integer, optional ist der Wertebereich einschränkbar. |
FILTER_VALIDATE_BOOLEAN | "boolean" | Gibt TRUE für "1", "true", "on" und "yes", FALSE für "0", "false", "off", "no" und "" und NULL für sonstiges zurück. | ||
FILTER_VALIDATE_FLOAT | "float" | Validiert Werte als float. | ||
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp | Validiert Werte gegen regexp , einen Perl kompatiblen Regulären Ausdruck. | |
FILTER_VALIDATE_URL | "validate_url" | FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Validiert Werte als URL, optional einschränkbar auf benötigte URL-Komponenten. | |
FILTER_VALIDATE_EMAIL | "validate_email" | Validiert Werte als E-Mail. | ||
FILTER_VALIDATE_IP | "validate_ip" | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Validiert Werte als IP-Adresse, optional einschränkbar auf nur IPv4 oder IPv6 oder keine privaten oder reservierten Bereiche. | |
FILTER_SANITIZE_STRING | "string" | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Tags entfernen, optional können auch Sonderzeichen entfernt oder kodiert werden. | |
FILTER_SANITIZE_STRIPPED | "stripped" | Alias für "string"-Filter. | ||
FILTER_SANITIZE_ENCODED | "encoded" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | URL-kodierte Zeichenkette, optional können auch Sonderzeichen entfernt oder kodiert werden. | |
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | HTML-kodieren von '"<>& und Zeichen mit einem ASCII-Wert kleiner 32, optional können andere Sonderzeichen entfernt oder kodiert werden. | |
FILTER_UNSAFE_RAW | "unsafe_raw" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Keine Tätigkeit, optional können auch Sonderzeichen entfernt oder kodiert werden. | |
FILTER_SANITIZE_EMAIL | "email" | Alle Zeichen außer Buchstaben, Zahlen und !#$%&'*+-/=?^_`{|}~@.[] entfernen. | ||
FILTER_SANITIZE_URL | "url" | Alle Zeichen außer Buchstaben, Zahlen und $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&= entfernen. | ||
FILTER_SANITIZE_NUMBER_INT | "number_int" | Alle Zeichen außer Buchstaben, Zahlen und +- entfernen. | ||
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Alle Zeichen außer Buchstaben, Zahlen, +- und optional .,eE entfernen. | |
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" | addslashes() anwenden. | ||
FILTER_CALLBACK | "callback" | callback function or method | Benutzerdefinierte Funktion auf Filterdaten anwenden. |
Anforderungen
Diese Erweiterung benötigt keine externen Bibliotheken.
Installation
Kurzer Installationshinweis: Geben Sie einfach
$ pecl install filter
Laufzeit Konfiguration
Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.
Name | Grundeinstellung | Änderbar | Veränderungen |
---|---|---|---|
filter.default | unsafe_raw | PHP_INI_PERDIR | |
filter.default_flags | PHP_INI_PERDIR |
Hier eine kurze Erklärung der Konfigurationsoptionen:
- filter.default string
-
Standardfilter der zum Filtern aller $_GET, $_POST, $_COOKIE und $_REQUEST Daten verwendet werden soll. Auf die unveränderten Daten kann durch filter_input() zugeriffen werden.
Akzeptiert den Namen des Filters der standardmäßig verwendet werden soll. Die Namen der Filter können Sie der Liste der existierender Filter entnehmen.
- filter.default_flags integer
-
Standard-Flags
Resource Typen
Diese Erweiterung definiert keine Resource-Typen.
Vordefinierte Konstanten
Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.
- INPUT_POST (integer)
- POST Variablen.
- INPUT_GET (integer)
- GET Variablen.
- INPUT_COOKIE (integer)
- COOKIE Variablen.
- INPUT_ENV (integer)
- ENV Variablen.
- INPUT_SERVER (integer)
- SERVER Variablen.
- INPUT_SESSION (integer)
- SESSION Variablen. (noch nicht implementiert)
- INPUT_REQUEST (integer)
- REQUEST Variablen. (noch nicht implementiert)
- FILTER_FLAG_NONE (integer)
- Keine Flags.
- FILTER_REQUIRE_SCALAR (integer)
- Flag erfordert skalare Werte als Eingabe.
- FILTER_REQUIRE_ARRAY (integer)
- Erfordert ein Array als Eingabe.
- FILTER_FORCE_ARRAY (integer)
- Gibt immer ein Array zurück.
- FILTER_NULL_ON_FAILURE (integer)
- NULL anstelle von FALSE bei Fehlern verwenden.
- FILTER_VALIDATE_INT (integer)
- ID des "int"-Filter.
- FILTER_VALIDATE_BOOLEAN (integer)
- ID des "boolean"-Filter.
- FILTER_VALIDATE_FLOAT (integer)
- ID des "float"-Filter.
- FILTER_VALIDATE_REGEXP (integer)
- ID des "validate_regexp"-Filter.
- FILTER_VALIDATE_URL (integer)
- ID des "validate_url"-Filter.
- FILTER_VALIDATE_EMAIL (integer)
- ID des "validate_email"-Filter.
- FILTER_VALIDATE_IP (integer)
- ID des "validate_ip"-Filter.
- FILTER_DEFAULT (integer)
- ID des Standard-Filter ("string").
- FILTER_UNSAFE_RAW (integer)
- ID des "unsafe_raw"-Filter.
- FILTER_SANITIZE_STRING (integer)
- ID des "string"-Filter.
- FILTER_SANITIZE_STRIPPED (integer)
- ID des "stripped"-Filter.
- FILTER_SANITIZE_ENCODED (integer)
- ID des "encoded"-Filter.
- FILTER_SANITIZE_SPECIAL_CHARS (integer)
- ID des "special_chars"-Filter.
- FILTER_SANITIZE_EMAIL (integer)
- ID des "email"-Filter.
- FILTER_SANITIZE_URL (integer)
- ID des "url"-Filter.
- FILTER_SANITIZE_NUMBER_INT (integer)
- ID des "number_int"-Filter.
- FILTER_SANITIZE_NUMBER_FLOAT (integer)
- ID des "number_float"-Filter.
- FILTER_SANITIZE_MAGIC_QUOTES (integer)
- ID des "magic_quotes"-Filter.
- FILTER_CALLBACK (integer)
- ID des "callback"-Filter.
- FILTER_FLAG_ALLOW_OCTAL (integer)
- Oktale Notation (0[0-7]+) im "int"-Filter erlauben.
- FILTER_FLAG_ALLOW_HEX (integer)
- Hexadezimale Notation (0x[0-9a-fA-F]+) im "int"-Filter erlauben.
- FILTER_FLAG_STRIP_LOW (integer)
- Zeichen mit einem ASCII-Wert kleiner 32 entfernen.
- FILTER_FLAG_STRIP_HIGH (integer)
- Zeichen mit einem ASCII-Wert größer 127 entfernen.
- FILTER_FLAG_ENCODE_LOW (integer)
- Zeichen mit einem ASCII-Werte kleiner 32 kodieren.
- FILTER_FLAG_ENCODE_HIGH (integer)
- Zeichen mit einem ASCII-Werte größer 127 kodieren.
- FILTER_FLAG_ENCODE_AMP (integer)
- & kodieren.
- FILTER_FLAG_NO_ENCODE_QUOTES (integer)
- ' und " nicht kodieren.
- FILTER_FLAG_EMPTY_STRING_NULL (integer)
- (aktuell ohne Verwendung.)
- FILTER_FLAG_ALLOW_FRACTION (integer)
- Brüche im "number_float"-Filter erlauben.
- FILTER_FLAG_ALLOW_THOUSAND (integer)
- Tausender-Trenner (,) im "number_float"-Filter erlauben.
- FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
- Exponentialschreibweise (e, E) im "number_float"-Filter erlauben.
- FILTER_FLAG_SCHEME_REQUIRED (integer)
- Benötigt Schema im "validate_url"-Filter.
- FILTER_FLAG_HOST_REQUIRED (integer)
- Benötigt Host im "validate_url"-Filter.
- FILTER_FLAG_PATH_REQUIRED (integer)
- Benötigt Pfad im "validate_url"-Filter.
- FILTER_FLAG_QUERY_REQUIRED (integer)
- Benötigt Abfrage im "validate_url"-Filter.
- FILTER_FLAG_IPV4 (integer)
- Nur IPv4 Adressen im "validate_ip"-Filter erlauben.
- FILTER_FLAG_IPV6 (integer)
- Nur IPv6 Adressen im "validate_ip"-Filter erlauben.
- FILTER_FLAG_NO_RES_RANGE (integer)
- Reservierte Adressen im "validate_ip"-Filter verweigern.
- FILTER_FLAG_NO_PRIV_RANGE (integer)
- Private Adressen im "validate_ip"-Filter verweigern.
Inhaltsverzeichnis
- filter_has_var — Prüft, ob eine Variable des angegebenen Typs existiert
- filter_id — Liefert die Filter-ID zu einem Filternamen
- filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
- filter_input — Nimmt Variable von Außen entgegen und filtert sie optional
- filter_list — Liefert eine Liste aller unterstützten Filter
- filter_var_array — Nimmt mehrere Variablen entgegen und filtert sie optional
- filter_var — Filtern einer Variablen durch einen spezifischen Filter.