Filtros de saneamiento

Lista de filtros de saneamiento
ID Nombre Banderas Descripción
FILTER_SANITIZE_EMAIL "email"   Elimina todos los caracteres menos letras, dígitos y !#$%&'*+-=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED "encoded" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH String URL-encode, opcionalmente elimina o codifica caracteres especiales.
FILTER_SANITIZE_MAGIC_QUOTES "magic_quotes"   Aplica addslashes().
FILTER_SANITIZE_NUMBER_FLOAT "number_float" FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC Elimina todos los caracteres a excepción de los dígitos, +- y, opcionalmente, .,eE.
FILTER_SANITIZE_NUMBER_INT "number_int"   Elimina todos los caracteres excepto dígitos y los signos de suma y resta.
FILTER_SANITIZE_SPECIAL_CHARS "special_chars" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH Escapa caracteres HTML '"<>& y caracteres con valores ASCII menores que 32, opcionalmente elimina o codifica caracteres especiales.
FILTER_SANITIZE_FULL_SPECIAL_CHARS "full_special_chars" FILTER_FLAG_NO_ENCODE_QUOTES, Equivalente a llamar a htmlspecialchars() con ENT_QUOTES establecido. Las comillas de codificación pueden ser desactivadas mediante el establecimiento de FILTER_FLAG_NO_ENCODE_QUOTES. Al igual que htmlspecialchars(), este filtro tiene en cuenta el default_charset y si en una secuencia de bytes se detecta que contiene un carácter no válido en el conjunto de caracteres actual entonces el string completo es rechazado lo que resulta en un string de longitud 0. Cuando se utiliza este filtro como un filtro predeterminado, vea la advertiencia de abajo sobre establecer las banderas predeterminadas a 0.
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 Elimina etiquetas, opcionalmente elimina o codifica caracteres especiales.
FILTER_SANITIZE_STRIPPED "stripped"   Alias del filtro "string".
FILTER_SANITIZE_URL "url"   Elimina todos los caracteres excepto letras, dígitos y $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
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 No hace nada, opcionalmente eliminar o condificar caracteres. Este filtro es un alias de FILTER_DEFAULT.

Advertencia

Cuando se utiliza uno de estos tres filtros como un filtro predetermindo a través de fichero ini o de la configuración del servidor web, las banderas predeterminadas son establecidas a FILTER_FLAG_NO_ENCODE_QUOTES. Se necesita establecer explícitamente filter.default_flags a 0 para tener la codificación de comillas por omisión. Como esto:

Ejemplo #1 Configurar el filtro predeterminado para que actúe como htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

Historial de cambios

Versión Descripción
5.2.11/5.3.1 Las barras (/) son eliminadas por FILTER_SANITIZE_EMAIL. Antes se mantenían.