Tutorial PHP

PHP INICIO Introducción PHP Instalación de PHP Sintaxis PHP Comentarios PHP Variables PHP PHP Echo / Imprimir Tipos de datos PHP Cadenas PHP Números PHP Matemáticas PHP Constantes PHP Operadores PHP PHP Si... Más... Elseif Cambio de PHP Bucles de PHP Funciones PHP Matrices de PHP Superglobales de PHP PHP expresión regular

Formularios PHP

Manejo de formularios PHP Validación de formulario PHP Formulario PHP requerido Formulario PHP URL/Correo electrónico Formulario PHP completo

PHP Avanzado

Fecha y hora PHP PHP Incluir Manejo de archivos PHP Archivo PHP Abrir/Leer Archivo PHP Crear/Escribir Carga de archivos PHP Cookies PHP Sesiones PHP Filtros PHP Filtros PHP avanzados Funciones de devolución de llamada de PHP PHPJSON Excepciones de PHP

POO de PHP

PHP ¿Qué es la programación orientada a objetos? Clases PHP/Objetos Constructor PHP Destructor PHP Modificadores de acceso de PHP Herencia de PHP Constantes PHP Clases abstractas de PHP Interfaces PHP Características de PHP Métodos estáticos de PHP Propiedades estáticas de PHP Espacios de nombres de PHP Iterables de PHP

Base de datos MySQL

Base de datos MySQL Conexión MySQL MySQL Crear base de datos Crear tabla MySQL MySQL Insertar datos MySQL Obtener la última identificación MySQL Insertar Múltiples MySQL preparado Datos seleccionados de MySQL mysql donde MySQL Ordenar por MySQL Eliminar Datos Datos de actualización de MySQL Límite de datos de MySQL

PHPXML _

Analizadores PHP XML Analizador PHP SimpleXML PHP SimpleXML - Obtener PHP XML Expatriados PHP XML DOM

PHP -AJAX

Introducción a AJAX AJAXPHP Base de datos AJAX XML AJAX Búsqueda en vivo de AJAX Encuesta AJAX

Ejemplos de PHP

Ejemplos de PHP Compilador PHP Cuestionario de PHP Ejercicios PHP Certificado PHP

Referencia PHP

Descripción general de PHP Matriz de PHP Calendario PHP Fecha PHP Directorio PHP Error PHP Excepción PHP Sistema de archivos PHP Filtro PHP PHPFTP PHPJSON Palabras clave PHP PHP Libxml Correo PHP Matemáticas PHP PHP misceláneo PHP MySQLi Red PHP Control de salida de PHP PHP expresión regular PHP SimpleXML flujo PHP Cadena PHP Manejo de variables de PHP Analizador PHP XML código postal de PHP Zonas horarias de PHP

Filtros PHP


Validación de datos = Determinar si los datos están en la forma adecuada.

Desinfección de datos = Eliminar cualquier carácter ilegal de los datos.


La extensión de filtro PHP

Los filtros PHP se utilizan para validar y desinfectar la entrada externa.

La extensión de filtro PHP tiene muchas de las funciones necesarias para verificar la entrada del usuario y está diseñada para hacer que la validación de datos sea más fácil y rápida.

La filter_list()función se puede usar para enumerar lo que ofrece la extensión de filtro PHP:

Ejemplo

<table>
  <tr>
    <td>Filter Name</td>
    <td>Filter ID</td>
  </tr>
  <?php
  foreach (filter_list() as $id =>$filter) {
    echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>
</table>

¿Por qué usar filtros?

Muchas aplicaciones web reciben información externa. La entrada/los datos externos pueden ser:

  • Entrada del usuario desde un formulario
  • Galletas
  • datos de servicios web
  • Variables del servidor
  • Resultados de la consulta de la base de datos

¡Siempre debe validar los datos externos!
¡Los datos enviados no válidos pueden generar problemas de seguridad y romper su página web!
¡Al usar filtros PHP puede estar seguro de que su aplicación obtiene la entrada correcta!



PHP filter_var () Función

La filter_var()función valida y desinfecta los datos.

La filter_var()función filtra una sola variable con un filtro especificado. Se necesitan dos datos:

  • La variable que desea comprobar
  • El tipo de cheque a utilizar

Desinfectar una cuerda

El siguiente ejemplo usa la filter_var()función para eliminar todas las etiquetas HTML de una cadena:

Ejemplo

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>

Validar un entero

El siguiente ejemplo usa la filter_var()función para verificar si la variable $int es un número entero. Si $int es un número entero, la salida del siguiente código será: "El número entero es válido". Si $int no es un número entero, la salida será: "El número entero no es válido":

Ejemplo

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Sugerencia: filter_var() y problema con 0

En el ejemplo anterior, si $int se estableció en 0, la función anterior devolverá "El número entero no es válido". Para resolver este problema, utilice el siguiente código:

Ejemplo

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Validar una dirección IP

El siguiente ejemplo usa la filter_var()función para verificar si la variable $ip es una dirección IP válida:

Ejemplo

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
  echo("$ip is a valid IP address");
} else {
  echo("$ip is not a valid IP address");
}
?>

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

El siguiente ejemplo usa la filter_var()función para eliminar primero todos los caracteres ilegales de la variable $email, luego verifica si es una dirección de correo electrónico válida:

Ejemplo

<?php
$email = "[email protected]";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  echo("$email is a valid email address");
} else {
  echo("$email is not a valid email address");
}
?>

Desinfectar y validar una URL

El siguiente ejemplo usa la filter_var()función para eliminar primero todos los caracteres ilegales de una URL y luego verificar si $url es una URL válida:

Ejemplo

<?php
$url = "https://www.w3schools.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
  echo("$url is a valid URL");
} else {
  echo("$url is not a valid URL");
}
?>

Referencia completa de filtros PHP

Para obtener una referencia completa de todas las funciones de filtro, vaya a nuestra Referencia completa de filtros de PHP. Verifique cada filtro para ver qué opciones y banderas están disponibles.

¡La referencia contiene una breve descripción y ejemplos de uso para cada función!