Foros del Web » Programando para Internet » PHP »

mejor manera de filtrar datos

Estas en el tema de mejor manera de filtrar datos en el foro de PHP en Foros del Web. Hola, Tengo que filtrar datos de forma 100% segura, evitando por ejemplo una injeccion SQL o PHP (y no se de que mas). Para eso ...
  #1 (permalink)  
Antiguo 03/05/2011, 20:07
 
Fecha de Ingreso: julio-2009
Mensajes: 58
Antigüedad: 14 años, 9 meses
Puntos: 0
mejor manera de filtrar datos

Hola,
Tengo que filtrar datos de forma 100% segura, evitando por ejemplo una injeccion SQL o PHP (y no se de que mas).

Para eso cree esta funcion:

Código PHP:
function filter($str)
{
    
$str htmlspecialchars($str);
    
$str htmlentities($strENT_QUOTES);
    
$str mysql_real_escape_string($str);
    return 
$str;

Es totalmente segura esta funcion? Faltaria algo mas para ser mas segura?

Otra duda es si hay alguna manera de evitar conectarse a la bd cada vez que se haga este filtrado, ya que de vez en cuando deseo filtrar datos sin necesidad de conectarme a la bd.

Espero que me puedan ayudar. Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 04/05/2011, 08:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mejor manera de filtrar datos

De hecho, es excesivamente molesta la función.

¿Si sabes lo que hace cada una de las funciones que empleas?

¿Es necesaria cada una de las funciones que empleas en base a su comportamiento?

Y como última pregunta, ¿que tiene que ver la base de datos con filtrar las variables?

Creo que entonces no sabes ni lo que quieres filtrar y lo que no, te sugiero leer el manual.

http://php.net/filter
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/05/2011, 13:43
 
Fecha de Ingreso: julio-2009
Mensajes: 58
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: mejor manera de filtrar datos

Gracias!

Lo que deseo filtrar mas que nada son los datos que un usuario me envia a traves de un post, que se guarde en una variable y luego pueda ser usado de diferentes maneras, como guardarlo en la base de datos por ejemplo.

Entonces los que hago mas o menos es esto:

Código PHP:
$datoFiltrado filter($_POST['dato']); 
El htmlspecialchars y el htmlentities lo pensaba usar que si por ejemplo un usuario me pasa un texto como <strong>texto</strong>, luego se imprimiria el texto en negrita y yo no quiero eso. Yo quiero mostrar el valor tal cual me lo dio el usuario.

Generalmente luego tambien valido la vailable con un preg_match tambien, cuando solo tienen que ser numeros etc... Pero en otros casos no quiero validar tanto ya que sería un texto rico en símbolos como podría ser el texto que estoy escribiendo ahora.

Con lo de conectar a la base de datos se sabe que para usar mysql_real_escape_string se debe conectar a la bd primero, y por lo que he leido es una de las formas mas seguras de evitar una inyeccion sql.

Lo que intento buscar es aprender la manera en que usualmente filtran estos tipos de datos para evitar cualquier tipo de maldad que se quiera hacer y al mismo tiempo intentar ser lo más eficiente posible.

Espero que me puedan ayudar. Desde ya muchas gracias.
  #4 (permalink)  
Antiguo 04/05/2011, 13:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mejor manera de filtrar datos

Por eso te acerque un enlace.

Dicho enlace trata de la extensión filter, que como podrás entender significa filtro.

Entonces, depende mucho del tipo de dato que necesitas almacenar para aplicar determinados filtros.

No puedes filtrar todo de la misma manera, te aseguro que de ese modo después tendrás serios problemas. Por favor, estudia la referencia que te indiqué.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 04/05/2011, 19:40
 
Fecha de Ingreso: julio-2009
Mensajes: 58
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: mejor manera de filtrar datos

Gracias por la ayuda!
  #6 (permalink)  
Antiguo 04/05/2011, 20:11
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: mejor manera de filtrar datos

Mira esta función tambien te puede interesar:

Cita:
http://php.net/manual/es/function.strip-tags.php
Saludos !
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.

Etiquetas: filtrar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:44.