Forum und email

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.