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. |
Diese Erweiterung benötigt keine externen Bibliotheken.
Kurzer Installationshinweis: Geben Sie einfach
$ pecl install filter
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:
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.
Standard-Flags
Diese Erweiterung definiert keine Resource-Typen.
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.