Foros del Web » Programando para Internet » PHP »

Utilizar mysql_real_escape_string()

Estas en el tema de Utilizar mysql_real_escape_string() en el foro de PHP en Foros del Web. Buenas, queria saber como se utlizal la funcion mysql_real_escape_string(). Saludos...
  #1 (permalink)  
Antiguo 20/06/2011, 10:01
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Utilizar mysql_real_escape_string()

Buenas,

queria saber como se utlizal la funcion mysql_real_escape_string().

Saludos
  #2 (permalink)  
Antiguo 20/06/2011, 10:08
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Utilizar mysql_real_escape_string()

aca te lo explican muy bien

http://www.php.net/manual/es/functio...ape-string.php
__________________
la la la
  #3 (permalink)  
Antiguo 20/06/2011, 10:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Utilizar mysql_real_escape_string()

realice unas prueba segun el enlace que me pasaste y el contenido te lo guarda igual sin modificarlo.

Código PHP:
Ver original
  1. $ccontenido = "' OR ''='";
  2.  
  3.  
  4. echo $ccontenido;
  5. $con = mysql_connect("localhost", "", "") or die ("no se puede establecer la conexion con el servidor");
  6.  
  7. $sdb = mysql_select_db('prueba', $con);
  8.  
  9. $stb = sprintf("SELECT * FROM webs where Usuario = '%s'",
  10.             mysql_real_escape_string($ccontenido));
  11. $resultado = mysql_query($stb, $con) or die (mysql_error());
  12.  
  13. //este echo me printa por pantalla \' OR \'\'=\' . esto esta correcto
  14. echo sprintf('%s', mysql_real_escape_string($ccontenido));
  15.  
  16.  
  17. $sql = sprintf("INSERT INTO webs (Usuario) VALUES ('%s')",
  18.        mysql_real_escape_string($ccontenido));
  19.  
  20. $resultado = mysql_query($sql, $con) or die (mysql_error());

el echo que hago despues de hacer la consulta me printa por pantalla \' OR \'\'=\' . que esto estaria correcto.

pero el insert que realizo me guarda la variable en la bd sin modificacion.
resultado bd:
' OR ''='
no tendria que guardarlo de esta manera.
\' OR \'\'=\'

ya que después cuando quiera consultar datos no estará limpio.

Saludos
  #4 (permalink)  
Antiguo 20/06/2011, 10:45
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Utilizar mysql_real_escape_string()

la idea es poner \ para que no te hagan inyeccion sql
pero al guardarlo se guarda como originalmente se ingresó
__________________
la la la
  #5 (permalink)  
Antiguo 20/06/2011, 10:48
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Utilizar mysql_real_escape_string()

Cita:
Iniciado por truman_truman Ver Mensaje
la idea es poner \ para que no te hagan inyeccion sql
pero al guardarlo se guarda como originalmente se ingresó
y entonces como se tiene que hacer para que no se guarde asi??ya que es peligroso porque cuando realice consultas con un codigo asi puede...

Etiquetas: Ninguno
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 22:48.