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:
Verfügbare Filter
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
  
auf der Konsole ein.

Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Filter Konfigurationsoptionen
Name Grundeinstellung Änderbar Veränderungen
filter.default unsafe_raw PHP_INI_PERDIR  
filter.default_flags   PHP_INI_PERDIR  
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im php.ini Einstellungen.

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.