XL. Filter Functions

Introductie

This extension serves for validating and filtering data coming usually from some insecure source such as user input.

Waarschuwing

Deze module is EXPERIMENTEEL. Dat betekent, dat het gedrag van deze functies, deze functienamen, in concreto ALLES dat hier gedocumenteerd is in een toekomstige uitgave van PHP ZONDER WAARSCHUWING kan veranderen. Wees gewaarschuwd, en gebruik deze module op eigen risico.

Following filters currently exist:

Tabel 1. Existing filters

IDNameOptionsFlagsDescription
FILTER_VALIDATE_INT"int" min_range, max_range FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX Validates value as integer, optionally from the specified range.
FILTER_VALIDATE_BOOLEAN"boolean"   Returns TRUE for "1", "true", "on" and "yes", FALSE for "0", "false", "off", "no", and "", NULL otherwise.
FILTER_VALIDATE_FLOAT"float"  Validates value as float.
FILTER_VALIDATE_REGEXP"validate_regexp" regexp  Validates value against regexp.
FILTER_VALIDATE_URL"validate_url"  FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED Validates value as URL, optionally with required components.
FILTER_VALIDATE_EMAIL"validate_email"  Validates value as e-mail.
FILTER_VALIDATE_IP"validate_ip"  FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE Validates value as IP address, optionally only IPv4 or IPv6 or not from private or reserved ranges.
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 Strip tags, optionally strip or encode special characters.
FILTER_SANITIZE_STRIPPED"stripped"  Alias of "string" filter.
FILTER_SANITIZE_ENCODED"encoded"  FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH URL-encode string, optionally strip or encode special characters.
FILTER_SANITIZE_SPECIAL_CHARS"special_chars"  FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH HTML-escape '"<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.
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 Do nothing, optionally strip or encode special characters.
FILTER_SANITIZE_EMAIL"email"   Remove all characters except letters, digits and !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_URL"url"   Remove all characters except letters, digits and $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT"number_int"   Remove all characters except digits and +-.
FILTER_SANITIZE_NUMBER_FLOAT"number_float"  FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC Remove all characters except digits, +- and optionally .,eE.
FILTER_SANITIZE_MAGIC_QUOTES"magic_quotes"  Apply addslashes().
FILTER_CALLBACK"callback" callback function or methodCall user-defined function to filter data.

Afhankelijkheden

Deze functies zijn beschikbaar als onderdeel van de standaard module die altijd beschikbaar is.

Installatie

A short installation note: just type
$ pear install filter
in your console.

Configuratie tijdens scriptuitvoer

Het gedrag van deze functies wordt beïnvloed vanuit php.ini.

Tabel 2. Filter Configuration Options

NameDefaultChangeableChangelog
filter.defaultstringPHP_INI_SYSTEM 
filter.default_flags PHP_INI_SYSTEM 
For further details and definitions of the PHP_INI_* constants, see the Aanhangsel G.

Here's a short explanation of the configuration directives.

filter.default string

Filter all $_GET, $_POST, $_COOKIE and $_REQUEST data by this filter. Original data can be accessed through input_get().

filter.default_flags integer

Default flags for filter_data().

Resource types

Deze extensie maakt geen gebruik van resources.

Voorgedefineerde constanten

Deze constanten worden gedefineerd door deze extensie, en zullen alleen beschikbaar zijn als de extensie met PHP is meegecompileerd, of als deze dynamisch is geladen vanuit een script.

INPUT_POST (integer)

POST variables.

INPUT_GET (integer)

GET variables.

INPUT_COOKIE (integer)

COOKIE variables.

INPUT_ENV (integer)

ENV variables.

INPUT_SERVER (integer)

SERVER variables.

INPUT_SESSION (integer)

SESSION variables.

FILTER_FLAG_NONE (integer)

No flags.

FILTER_VALIDATE_INT (integer)

ID of "int" filter.

FILTER_VALIDATE_BOOLEAN (integer)

ID of "boolean" filter.

FILTER_VALIDATE_FLOAT (integer)

ID of "float" filter.

FILTER_VALIDATE_REGEXP (integer)

ID of "validate_regexp" filter.

FILTER_VALIDATE_URL (integer)

ID of "validate_url" filter.

FILTER_VALIDATE_EMAIL (integer)

ID of "validate_email" filter.

FILTER_VALIDATE_IP (integer)

ID of "validate_ip" filter.

FILTER_DEFAULT (integer)

ID of default ("string") filter.

FILTER_UNSAFE_RAW (integer)

ID of "unsafe_raw" filter.

FILTER_SANITIZE_STRING (integer)

ID of "string" filter.

FILTER_SANITIZE_STRIPPED (integer)

ID of "stripped" filter.

FILTER_SANITIZE_ENCODED (integer)

ID of "encoded" filter.

FILTER_SANITIZE_SPECIAL_CHARS (integer)

ID of "special_chars" filter.

FILTER_SANITIZE_EMAIL (integer)

ID of "email" filter.

FILTER_SANITIZE_URL (integer)

ID of "url" filter.

FILTER_SANITIZE_NUMBER_INT (integer)

ID of "number_int" filter.

FILTER_SANITIZE_NUMBER_FLOAT (integer)

ID of "number_float" filter.

FILTER_SANITIZE_MAGIC_QUOTES (integer)

ID of "magic_quotes" filter.

FILTER_CALLBACK (integer)

ID of "callback" filter.

FILTER_FLAG_ALLOW_OCTAL (integer)

Allow octal notation (0[0-7]+) in "int" filter.

FILTER_FLAG_ALLOW_HEX (integer)

Allow hex notation (0x[0-9a-fA-F]+) in "int" filter.

FILTER_FLAG_STRIP_LOW (integer)

Strip characters with ASCII value less than 32.

FILTER_FLAG_STRIP_HIGH (integer)

Strip characters with ASCII value greater than 127.

FILTER_FLAG_ENCODE_LOW (integer)

Encode characters with ASCII value less than 32.

FILTER_FLAG_ENCODE_HIGH (integer)

Encode characters with ASCII value greater than 127.

FILTER_FLAG_ENCODE_AMP (integer)

Encode &.

FILTER_FLAG_NO_ENCODE_QUOTES (integer)

Don't encode ' and ".

FILTER_FLAG_EMPTY_STRING_NULL (integer)

(No use for now.)

FILTER_FLAG_ALLOW_FRACTION (integer)

Allow fractional part in "number_float" filter.

FILTER_FLAG_ALLOW_THOUSAND (integer)

Allow thousand separator (,) in "number_float" filter.

FILTER_FLAG_ALLOW_SCIENTIFIC (integer)

Allow scientific notation (e, E) in "number_float" filter.

FILTER_FLAG_SCHEME_REQUIRED (integer)

Require scheme in "validate_url" filter.

FILTER_FLAG_HOST_REQUIRED (integer)

Require host in "validate_url" filter.

FILTER_FLAG_PATH_REQUIRED (integer)

Require path in "validate_url" filter.

FILTER_FLAG_QUERY_REQUIRED (integer)

Require query in "validate_url" filter.

FILTER_FLAG_IPV4 (integer)

Allow only IPv4 address in "validate_ip" filter.

FILTER_FLAG_IPV6 (integer)

Allow only IPv6 address in "validate_ip" filter.

FILTER_FLAG_NO_RES_RANGE (integer)

Deny reserved addresses in "validate_ip" filter.

FILTER_FLAG_NO_PRIV_RANGE (integer)

Deny private addresses in "validate_ip" filter.

Inhoudsopgave
filter_data -- Filters data with a specified filter
input_filters_list -- Returns a list of all supported filters
input_get -- Gets variable from outside PHP and optionally filters it
input_has_variable -- Checks if variable of specified type exists
input_name_to_filter -- Returns the filter ID belonging to a named filter