Foros del Web » Programando para Internet » PHP »

Sobre injection sql en formulario

Estas en el tema de Sobre injection sql en formulario en el foro de PHP en Foros del Web. Hola mi gente tal vez este no sea el foro para esta pregunta pero igual quisiera saber si para evitar la injeccion de codigo malicioso ...
  #1 (permalink)  
Antiguo 09/02/2010, 09:43
 
Fecha de Ingreso: mayo-2004
Ubicación: Ciudad de la Habana
Mensajes: 85
Antigüedad: 20 años
Puntos: 0
Pregunta Sobre injection sql en formulario

Hola mi gente tal vez este no sea el foro para esta pregunta pero igual quisiera saber si para evitar la injeccion de codigo malicioso desde un campo txt de un sistema login no es mejor encriptar el password con md5 y comparar lo que se registro la primera vez con lo que se esta introduciendo para evitar que le sumen las sentencias como OR 1=1 y cosas asi que son las que permiten que hayan fallos y dan la posibilidad de ingreso a los usuarion maliciosos.

Saludos,
Manuel.
  #2 (permalink)  
Antiguo 09/02/2010, 09:48
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Sobre injection sql en formulario

mm si es mejor ... era esa la pregunta ?
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 09/02/2010, 11:08
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 2 meses
Puntos: 14
Respuesta: Sobre injection sql en formulario

Por más que cifres la contraseña (algo recomendable, pero por otros motivos) las inyecciones SQL pueden darse. Para evitarlas usa la función mysql_real_escape_string antes de enviar la sentencia SQL.
  #4 (permalink)  
Antiguo 09/02/2010, 11:11
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Sobre injection sql en formulario

Cita:
Por más que cifres la contraseña (algo recomendable, pero por otros motivos) las inyecciones SQL pueden darse. Para evitarlas usa la función mysql_real_escape_string antes de enviar la sentencia SQL.
y si haces esto (?)
Código PHP:
Ver original
  1. $password = md5($_POST["password"]);
  2. $usuario = md5($_POST["usuario"]);
  3. $consulta = "SELECT password FROM usuarios WHERE md5(username) = $usuario";
  4. // condicion.. si solo hay 1 respuesta
  5. // bla bla
  6. if($row["password"] == $password){
  7. // mas bla bla

como injectarias ese metodo (?)
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 09/02/2010, 11:22
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 2 meses
Puntos: 14
Respuesta: Sobre injection sql en formulario

No veo vulnerabilidades ahí, pero va más allá de cifrar la contraseña y es más incómodo que simplemente usar mysql_real_escape_string... Sobre todo si se hace bien y el uso de la función queda dentro de una función de nivel más abstracto ;)
  #6 (permalink)  
Antiguo 09/02/2010, 11:27
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Sobre injection sql en formulario

lo se y concuerdo contigo =) solo lo dije por que tu escribiste que las inyecciones sql podían darse a pesar de todo el cifrado q pudiera dar...

obiamente es mas efectivo solo pasar todos los datos por un filtro de escape asi no tienes que hacer consultas complicadas en cada apartado de tu web donde se ingresen datos.. y tambien es un alivio para el servidor sql =)
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 09/02/2010, 11:47
 
Fecha de Ingreso: mayo-2004
Ubicación: Ciudad de la Habana
Mensajes: 85
Antigüedad: 20 años
Puntos: 0
Respuesta: Sobre injection sql en formulario

o sea lo que me sugieren para asegurar la consulta es que use esta funcion y a su vez reduzco el nivel de consumo de recursos del servidor es a eso a lo que se refieren???.


Etiquetas: injection, sql, formulario
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 03:08.