Filtrar numeros y cadenas en PHP


La Seguridad en PHP se realiza filtrando las entradas del usuario, esto se debe realizar obligatoriamente para no tener en un futuro algunas sorpresas desagradables en nuestro servidor, estos consejos para validación de entradas en nuestras aplicaciones con PHP nos facilitaran el proceso.
Validar solo números
Si la entrada es una edad o algún valor numérico pequeño, podemos usar simplemente el CAST (int) de PHP
$numero = (int)$_POST;Pero si nuestra entrada es una cadena de números podemos utilizar la siguiente expresion regular que filtrara de nuestra variable todos los caracteres que no sean numéricos
$output = preg_replace(«//», «», $data);Esto permitirá también valores negativos y decimales.
Eliminar etiquetas HTML
Si deseas eliminar toda etiqueta HTML de una cadena puedes utilizar la función strip_tags, o si solo deseas que se muestre puedes encodificarlas con htmlspecialchars y no causara problemas al momento de mostrarlo.
$text = ‘Test paragraph.

Other text’;
echo strip_tags($text);

// Permite y
echo strip_tags($text, »);
Filtrando cadenas en MySQL
Utilizando mysql_real_escape_string podemos filtrar las cadenas antes de enviarlas en una consulta SQL, esto para prevenir inyecciones SQL, si utilizamos PDO con PHP esto ya no es necesario porque lo tienen integrado.
$user = mysql_real_escape_string($_POST); //’aidan’;
$pass = mysql_real_escape_string($_POST); //»‘ OR »='»;

$query = «SELECT * FROM users WHERE user=’$user’ AND password=’$pass'»;
mysql_query($query);
Utilizar filter_input
Si utilizas $_GET puedes utilizar esta alternativa y de paso filtrar valores al mismo tiempo
$itemId = filter_input(INPUT_GET, ‘id’, FILTER_SANITIZE_SPECIAL_CHARS);Se pueden utilizar como parámetro INPUT_POST, INPUT_COOKIE, INPUT_SERVER o INPUT_ENV Que te parecieron estos consejos?, utilizas alguna validación más en tus aplicaciones?, puedes comentarlo y discutiremos alternativas y mejoras.

Califica este Artículo

Categoría: Programación.




Deja una respuesta