Introducción a los filtros PHP

Hay muy pocos idiomas que tienen características de filtro. Los filtros son una de las características de valor agregado de los lenguajes de programación. Esto nos ayuda a filtrar los datos o la cadena antes de procesarlos. Este es el llamado del tiempo para usar esto para evitar algunos problemas de vulnerabilidad en el sistema. Los filtros PHP se pueden usar para validar o desinfectar las entradas externas. Básicamente, el filtro PHP es una extensión que viene con sus diversas funciones y las características que podemos usar al codificar. Por ejemplo, estamos tomando la entrada del cliente de un formulario como ID de correo electrónico, debemos validar o desinfectar antes de la operación relacionada con la base de datos. Nosotros, como programadores o desarrolladores, deberíamos usar estos filtros en PHP según nuestras necesidades comerciales y los requisitos.

Sintaxis

La desinfección y los filtros son las operaciones más comunes en el entorno de aplicaciones web. Aquí está la sintaxis básica:

filter_var(variable, filter, options)

Esta función filter_var toma 3 parámetros. Los últimos 2 parámetros, el filtro y las opciones son opcionales. El primero es una variable o los identificadores en sí. Este es el que queremos filtrar, el segundo es lo que queremos hacer (en esto básicamente pasamos el ID de las opciones disponibles en PHP), y el último es las opciones relacionadas con el filtro. Comprendamos lo mismo con un ejemplo de prueba:

<_?php
$int_val = 200;
if(filter_var($int_val, FILTER_VALIDATE_INT))(
echo "The $int_val is a valid one."; // valid
) else(
echo "The $int_val not a valid input as an integer"; // invalid
)
?>

En el ejemplo anterior, estamos usando un filtro y verificamos si tenemos un valor entero en la variable $ int_val o no. Entonces, aquí está la salida para el mismo.

Salida:

¿Por qué usamos Filter en PHP?

Muchas aplicaciones web PHP reciben información externa del lado del cliente. La idea detrás de usar esto es limpiar la entrada del usuario antes del procesamiento, ya que no podemos esperar que el usuario coloque todos los datos correctamente. Cualquier usuario externo o entrada o datos del sistema pueden conducir a un problema crítico de seguridad.

Podemos filtrar aquí para desinfectar los datos ingresados ​​de varias fuentes externas como:

  • Entrada directa del usuario del cliente desde el formulario
  • Datos de cookies
  • Datos de los servicios web
  • Datos de las variables del servidor.
  • Resultados de consultas de bases de datos

Los filtros PHP y los desinfectantes juntos permiten la capacidad de obtener si una entrada es válida o no. Si no es una entrada válida, en este caso, podemos desinfectarla para hacer una válida. En la siguiente sección de ejemplos, veremos varios ejemplos relacionados con esto.

Ejemplo de filtro

Hay varios tipos de filtros disponibles en PHP. Podemos verificar esa lista usando la función filter_list (). Básicamente, estas funciones de filtro se pueden usar para filtrar la URL, la cadena, el número, la dirección IP, etc.

Ejemplo 1

En esta sección, veremos los diversos programas de ejemplo de filtro uno por uno.

Desinfectar una cuerda

Para verificar si una cadena es válida o no

<_?php
$comment = "Hello word";
if(filter_var($comment, FILTER_SANITIZE_STRING))(
echo "The $comment is a valid one."; // valid
) else(
echo "The $comment not a valid input"; // invalid
)
?>

En el ejemplo anterior, podemos ver una cadena válida por eso da la válida.

Salida:

Obtenga la cadena desinfectada como salida

<_?php
$comment = " Hello word ";
echo "Before sanitizing: ". $comment;
$comment = filter_var($comment, FILTER_SANITIZE_STRING);
echo "
"; // for new line
echo "After sanitizing: ". $comment;
?>

Podemos ver que tenemos dos salidas diferentes. Podemos ver la salida antes de desinfectar y después de desinfectar es diferente. Después de desinfectar, la función de filtro PHP ha eliminado las etiquetas HTML.

Salida:

Ejemplo # 2

Validar una dirección IP

La función de filtro PHP puede hacer este trabajo por nosotros. Veamos el ejemplo.

<_?php
$ip_address = "172.16.254.1:40";
if(filter_var($ip_address, FILTER_VALIDATE_IP))(
echo "The $ip_address is a valid one."; // valid
) else(
echo "The $ip_address is not a valid input"; // invalid
)
?>

Salida:

Ejemplo # 3

Desinfectar y validar una dirección de correo electrónico

<_?php
$email_address = " @testmail.com";
code>
echo "Before Sanitizing: " . $email_address ."
";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($email_address, FILTER_SANITIZE_EMAIL);
?>

En el ejemplo anterior, tenemos un valor no válido para la identificación del correo electrónico ya que estamos obteniendo esta salida usando la función de filtro. Pero en el momento en que lo desinfectamos nos da el correo electrónico correcto.

Salida:

<_?php
$email_address = " ";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
?>

En el código PHP de ejemplo anterior, estamos verificando si el correo electrónico es válido o no.

Salida:

Ejemplo # 4

Desinfectar y validar URL

En este ejemplo, ¿veremos si una URL de entrada es válida o no? Si no es una URL válida, lo desinfectará para que sea correcta.

<_?php
$URL = "https://www.educba.com/ courses ";
echo "Before Sanitizing: " . $URL ."
";
if(filter_var($URL, FILTER_VALIDATE_URL))(
echo "The $URL is a valid one."; // valid
) else(
echo "The $URL is not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL);
?>

Salida:

Conclusión

Deberíamos usar el filtro PHP para validar o desinfectar la entrada del usuario. De esta manera, podemos restringir la entrada vulnerable del usuario. Podemos usar las diversas funciones de filtro PHP para validar las entradas del usuario y el valor. También podemos ir a desinfectar para limpiar el valor (ya sea la entrada del usuario o la asignada directamente). Siempre debemos usar el desinfectante PHP antes de usar cualquier información de cookies para el procesamiento de datos.

Artículos recomendados

Esta ha sido una guía para los filtros PHP. Aquí también discutimos la sintaxis, por qué usamos un filtro en PHP y ejemplos. También puede consultar los siguientes artículos para obtener más información:

  1. PHP Frameworks
  2. Filtro de contexto de Tableau
  3. ¿Qué es Angular 2?
  4. Mantis Bug Tracker
  5. ¿Cómo funcionan las cookies en JavaScript con Example?