Foros del Web » Programando para Internet » PHP »

expresiones regulares contra inyecciones sql

Estas en el tema de expresiones regulares contra inyecciones sql en el foro de PHP en Foros del Web. Hola, tengo una duda: Estoy haciendo una aplicación web, en la que en los inputs que tengo solo se pueden meter letras, numeros o ambos. ...
  #1 (permalink)  
Antiguo 17/03/2011, 10:27
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
expresiones regulares contra inyecciones sql

Hola, tengo una duda:
Estoy haciendo una aplicación web, en la que en los inputs que tengo solo se pueden meter letras, numeros o ambos.

Para cada uno tengo definido unas expresiones regulares. Las cuales no admiten ya de por si caracteres que no sean letras ni numeros.

Mi duda es: como ya se que no van a tener caracteres tales como ",<,>,/, etc, etc

¿¿Sigue haciendo falta que por seguridad compruebe (con mysql_real_escape_string(), strip_tags(), htmlentities() y otras) los posibles ataques XSS e inyecciones SQL??

Un saludo, Gracias!
  #2 (permalink)  
Antiguo 17/03/2011, 10:33
Avatar de mashter  
Fecha de Ingreso: mayo-2008
Mensajes: 116
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: expresiones regulares contra inyecciones sql

Si realmente estan filtradas todas las entradas, entonces ya estas protegido; unicamente no se te pase proteger TODAS tus variables $_GET y $_POST

nomas pon atencion que si ademites el caracter % si te pueden meter una inyeccion
__________________
- - - - - - - - -
  #3 (permalink)  
Antiguo 17/03/2011, 10:35
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: expresiones regulares contra inyecciones sql

Pues la verdad, para mi modo de ver, nunca esta de mas hacer una doble verificación de los campos... Uno nunca sabe con que tipo de usuarios se va a topar.

Yo por ejemplo utilizo java para verificar los campos... después de eso se los paso a PHP y les hago otra verificación y de ahí a la base de datos que realiza otra...

Pero como te digo es nada mas un punto de vista.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 17/03/2011, 10:50
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: expresiones regulares contra inyecciones sql

En el lado cliente mediante Javascript uso las mismas expresiones regulares y luego en php otra vez.

expre-alfanum /^\w áéíóúÁÉÓÍÚ$/ solo letras y numeros :D

Despues de todas maneras antes de guardar los datos paso por mysql_real_escape_string().

Mi problema es al obtenerlos y meterlos en los inputs. Que los sacaba mediante htmlentitites( ) y claro los acentos me los pone como &oacute;&aacute;.... Entonces si me puedo ahorrar usar hmtlentities(), pues mejor :)
  #5 (permalink)  
Antiguo 17/03/2011, 10:56
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: expresiones regulares contra inyecciones sql

odio las ER !!!!!!!!!

no puedo con ellas!
  #6 (permalink)  
Antiguo 17/03/2011, 10:59
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: expresiones regulares contra inyecciones sql

Porque?? a mi me resultan bastante útiles. Habrá que ver también cuando y como usarlas pero bueno.
  #7 (permalink)  
Antiguo 17/03/2011, 11:00
Avatar de mashter  
Fecha de Ingreso: mayo-2008
Mensajes: 116
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: expresiones regulares contra inyecciones sql

Cita:
Iniciado por jotaincubus Ver Mensaje
Pues la verdad, para mi modo de ver, nunca esta de mas hacer una doble verificación de los campos... Uno nunca sabe con que tipo de usuarios se va a topar.

Yo por ejemplo utilizo java para verificar los campos... después de eso se los paso a PHP y les hago otra verificación y de ahí a la base de datos que realiza otra...

Pero como te digo es nada mas un punto de vista.
Cierto, siempre es bueno hacer esos 3 niveles de verificacion
__________________
- - - - - - - - -
  #8 (permalink)  
Antiguo 17/03/2011, 11:14
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: expresiones regulares contra inyecciones sql

no las puedo aprender

eso si tengo ganas hacer un sitio solo de aportes

y entre esos aportes una seccion de ER con todas las soluciones listas para implementar
  #9 (permalink)  
Antiguo 17/03/2011, 11:37
 
Fecha de Ingreso: diciembre-2010
Mensajes: 51
Antigüedad: 13 años, 4 meses
Puntos: 2
Respuesta: expresiones regulares contra inyecciones sql

Cita:
Iniciado por Patriarka Ver Mensaje
odio las ER !!!!!!!!!

no puedo con ellas!
idem
  #10 (permalink)  
Antiguo 17/03/2011, 13:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: expresiones regulares contra inyecciones sql

Cita:
Iniciado por Patriarka Ver Mensaje
odio las ER !!!!!!!!!

no puedo con ellas!
¿y porque no puedes con ellas las vas a odiar?

es como si dijeras, odio a las mujeres, ¡¡porque no las entiendo!!

bueno, hablando en serio las expresiones regulares (aka regex) son de lo mejor para diversas situaciones...

yo lo que odio es su tono de conformismo, si no pueden con ellas es solo porque no quieren... no mas!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 17/03/2011, 13:47
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: expresiones regulares contra inyecciones sql

Pateketrueke, y que opinas de usarlas para mantener la seguridad del sitio? Pues si en el php no pasa la comparacion, no lo inserta en la base de datos.
  #12 (permalink)  
Antiguo 17/03/2011, 14:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: expresiones regulares contra inyecciones sql

Cita:
Iniciado por Krlinhos_ Ver Mensaje
Pateketrueke, y que opinas de usarlas para mantener la seguridad del sitio? Pues si en el php no pasa la comparacion, no lo inserta en la base de datos.
yo opino que no es necesario usar regex para filtrar consultas de SQL, la verdad es que siempre debería almacenarse la información tal cual la introduce el usuario...

imagina un sitio para snippets de código, y que alguien postee alguna porción de código SQL... ¿si usamos regex para evitar ciertas cosas, como distinguir lo bueno de lo malo?

la información en su defecto debería almacenarse escapada claramente, y eso asegura que aunque se intente atacar mediante una inyección es en vano, pues la información ya no contiene vulnerabilidades...

así que una inyección de SQL siempre será efectiva, si no almacenamos con seguridad nuestra información, independientemente de lo que ésta contenga!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 17/03/2011, 14:28
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: expresiones regulares contra inyecciones sql

Si, yo tambien pienso asi. Pero en este caso particular, solo van a introducirse datos con letras o con numeros, el resto de signos son incesarios. Por eso pense esta solucion, que creia correcta...
  #14 (permalink)  
Antiguo 17/03/2011, 14:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: expresiones regulares contra inyecciones sql

Cita:
Iniciado por Krlinhos_ Ver Mensaje
Si, yo tambien pienso asi. Pero en este caso particular, solo van a introducirse datos con letras o con numeros, el resto de signos son incesarios. Por eso pense esta solucion, que creia correcta...
anda!!

el ejemplo que yo puse es una caso extremo, donde la información debería conservarse intacta...

pero en tu caso no hay problema, y de hecho yo veo correcto entonces el uso de expresiones regulares para normalizar y/o validar nuestra entrada...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 17/03/2011, 14:50
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: expresiones regulares contra inyecciones sql

Pero es que yo he leído muchos casos en los que las bases de datos son dañadas por códigos que generan inserciones automáticamente... o cosas por el estilo, entonces yo por eso hago esos tres niveles de seguridad...

Yo se que van a decir EXAGERADO pero para mi la información que se almacena en mi BD es primordial, y mas porque ahí guardo la parte contable y otras cosas que NO SE PUEDEN PERDER por un imbécil que solo quiere hacer daño.

Ademas ustedes saben que el internet esta lleno de !@#$% que no piensas sino en buscar vulnerabilidades para sentirse mas hombrecitos.

Espero que no me vayan a tirar muy duro.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: contra, expresiones, inyecciones, regulares, sql
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 05:13.