elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Mi funcion para limpiar variables
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mi funcion para limpiar variables  (Leído 4,719 veces)
Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Mi funcion para limpiar variables
« en: 5 Febrero 2009, 18:19 pm »

Buenas,
Recien acabo de escribir una funcion PHP para filtrar una variable segun algunas condiciones... Les dejo el codigo por si a alguien le sirve, y de paso si tienen ganas, espero criticas para mejorarla, o ideas para que sea mas comoda.

Código
  1. <?php
  2.  
  3. /**
  4.  * @autor Alex_Broadcast
  5.  * @desc Funcion para filtrar variables.
  6.  * @uso: filtra_var(Cadena, Numeros?, Letras?, Minimo, Maximo, Especiales?, Para DB?);
  7.  * Por defecto las letras y los numeros si se permiten y no tiene MAX ni MIN.
  8.  */
  9.  
  10. function filtra_var($var,$num=1,$let=1,$min=0,$max=0,$exp=0,$db=0){
  11. if($num == 0) $var = preg_replace("/[0-9]/",'',$var);
  12. if($let == 0) $var = preg_replace("/[a-zA-Z]/",'',$var);
  13. if($max != 0){ $long = strlen($var);
  14. if($min > $long || $long > $max){ return FALSE;} }
  15. if($exp != 1) $var = preg_replace("/^[a-z0-9]$/i",'',$var);
  16. if($db == 1){ //Si $var va a un query SQL...
  17. $var = htmlentities($var, ENT_QUOTES);
  18. if(get_magic_quotes_gpc()) $var = stripslashes($var);
  19. }
  20. return $var;
  21. }
  22.  
  23. /* Ejemplo: Solo numeros, y de 2 cifras minimo, 6 maximo */
  24. $edad = filtra_var($edad,1,0,2,6,0,0);
  25.  
  26. /* Ejemplo: Solo numeros, sin MIN ni MAX */
  27. $edad = filtra_var($edad,1,0);
  28.  
  29. /* Ejemplo: Numeros y letras, 3 MIN, 9 MAX */
  30. $edad = filtra_var($edad,1,1,3,9);
  31. ?>

La filtracion para evitar SQL INJECTION no se si es la mas optima, pero yo en mis paginas usaba ademas de todo eso funciones propias de MYSQL y no queria incluirlas en la funcion por si al ejecutarla aun no tenian una conexion establecida... cuestion de adaptarla a sus necesidades.

Saludos!


En línea

HardieVon

Desconectado Desconectado

Mensajes: 181


Programming HardCore


Ver Perfil WWW
Re: Mi funcion para limpiar variables
« Respuesta #1 en: 6 Febrero 2009, 03:19 am »

no le veo mucha funcionalidad ni practicidad, lo siento pero no es recomendale esa funcion.

1.- nada como un excelente casteo.
Código
2.- y esta mera para escapar caracteres feos   :(

Código

Y liston de perro, no nesesitas tanta cantaleta.

SALUDOS MAI


En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: Mi funcion para limpiar variables
« Respuesta #2 en: 6 Febrero 2009, 19:00 pm »

Gracias por tu sinceridad  ;D
Para cuando queremos solo numeros pues intval() si es mucho mejor que todo esto, pero yo la hice para casos en los que haya que combinar mas factores.
Y lo de mysql_real_escape_string() si es verdad, yo la uso en mis scripts, pero como la funcion tenia que ser mas universal pues... si la ponia en esta funcion y alguien la usaba sin tener una conexion a base de datos previa, le saldria error... o simplemente no escaparia la cadena si le ponemos @.

De todas formas tampoco tengo mucho nivel en PHP, esperaba que aqui le sacaran criticas a mi funcion para mejorarlo, gracias!

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Limpiar Variables de Formularios con PHP « 1 2 »
Desarrollo Web
FFFenix 15 11,071 Último mensaje 18 Agosto 2011, 22:35 pm
por Shell Root
Problema absurdo con variables en funcion
Java
JonhLimon 2 2,108 Último mensaje 17 Enero 2013, 12:47 pm
por JonhLimon
[Aporte] Mi función PHP para limpiar inputs
PHP
Alex_bro 0 1,863 Último mensaje 23 Julio 2015, 18:34 pm
por Alex_bro
Duda - Una funcion para limpiar la pantalla en Python
Scripting
n1sen 3 3,330 Último mensaje 1 Agosto 2017, 11:35 am
por <Trocutor>
funcion limpiar buffer de teclado
Programación C/C++
Locura_23 8 10,372 Último mensaje 15 Octubre 2021, 23:57 pm
por RayR
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines