Foros del Web » Programando para Internet » PHP »

esto no lo entiendo en consulta sql

Estas en el tema de esto no lo entiendo en consulta sql en el foro de PHP en Foros del Web. amigos gracias X leerlo hace tiempo tengo una duda y no la he podido aclarar, trata de las consultas sql, he visto que es recomendable ...
  #1 (permalink)  
Antiguo 08/10/2008, 09:40
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Pregunta esto no lo entiendo en consulta sql

amigos gracias X leerlo

hace tiempo tengo una duda y no la he podido aclarar, trata de las consultas sql, he visto que es recomendable utilizar la funcion mysql_real_string_escape (si no me equivoco en escribirla) la cual agrega (/) antes de las (') pero podrian explicarme realmenete cual es la utilidad de esto y ademas me gustaria saber como hacer mas seguras mis consultas antes de ejecutarlas. por lo general utilizo una funcion de limpieza a los datos que ingresa un usuario (quitando '"/-;....etc).

¿Alguna Sugerencia?

Gracias---->
__________________
Me junto con los que Saben, Queriendo Saber.
  #2 (permalink)  
Antiguo 08/10/2008, 09:58
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: esto no lo entiendo en consulta sql

Que tal ACX_POISON, según el manual mysql_real_escape_string() Escapa caracteres especiales de una cadena para su uso en una sentencia SQL, utilizando las barras invertidas, esto con el fin de prevenir los famosos ataques SQL Inyection siempre es recomendable usarla, mira detenidamente la documentación de la función.


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 08/10/2008, 09:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: esto no lo entiendo en consulta sql

Es una alternativa a la hora de evitar inyeccion de codigo sql desde fuera. A ver si me explico, para evitar que gente mal intencionada corrompa las consultas de sql que realices.

Para que tengas una info mas ampliada te recomiendo este link:

http://foro.elhacker.net/tutoriales_documentacion/tutorial_de_inyeccion_sql_sql_injection-t98448.0.html


yo tambien ando investigando sobre el tema asi que si descubres algo te agradeceria que me lo comentes.


SAludos
  #4 (permalink)  
Antiguo 08/10/2008, 10:01
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: esto no lo entiendo en consulta sql

en la misma pagina de PHP te lo explican con ejemplos, mysql_real_escape_string

Example #2 Un ejemplo de un ataque de inyección SQL
Código PHP:
<?php
// Consultar la base de datos para verificar si hay una coincidencia de usuario
$consulta "SELECT * FROM usuarios WHERE usuario='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($consulta);

// No revisamos $_POST['password'], ¡podría ser cualquier cosa que el usuario
// quiera! Por ejemplo:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// Esto quiere decir que la consulta enviada a MySQL sería:
echo $consulta;
?>
La consulta enviada a MySQL:

SELECT * FROM usuarios WHERE usuario='aidan' AND password='' OR ''=''

Esto permitiría que cualquiera iniciara una sesión sin una contraseña válida.



Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
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 11:33.