Foros del Web » Programando para Internet » PHP »

Insertar de forma segura con sprintf

Estas en el tema de Insertar de forma segura con sprintf en el foro de PHP en Foros del Web. Estimados expertos: Agradezco un poco de su atención. Estoy depurando un proyecto para evitar el XSS y SQL injection. Estoy haciendo uso de mysql_real_escape_strings (aun ...
  #1 (permalink)  
Antiguo 29/05/2013, 09:00
 
Fecha de Ingreso: mayo-2008
Mensajes: 38
Antigüedad: 15 años, 11 meses
Puntos: 0
Pregunta Insertar de forma segura con sprintf

Estimados expertos:

Agradezco un poco de su atención. Estoy depurando un proyecto para evitar el XSS y SQL injection. Estoy haciendo uso de mysql_real_escape_strings (aun no utilizo PDO) para sanitizar las sentencias.

Sin embargo, cuando quiero insertar datos con sprintf marca un error al ejecutar el query. Ya revisé el encoding y collation y todo está en UTF-Spanish2-ci

El query es éste:

Código PHP:
$query sprint("INSERT INTO valores (valor1, valor2, valor3, valor4) VALUES(%s, %s, %s, %s)"$valor1$valor2$valor3$valor4); 
Y éste es el resultado:

Código:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@something.com.mx
De antemano agradezco su atención y respuesta.

Saludos
Ulises

  #2 (permalink)  
Antiguo 29/05/2013, 09:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar de forma segura con sprintf

Es OFF TOPIC de MySQL, porque sprint() y sprintf() son sentencias de PHP, no de MySQL.
Muy probablemente el contenido de una de las variables no es el que crees, o bien la acción está rompiendo el SQL por los caracteres en ella incluidos.

Verifica las variables y haz un echo con la query ya armada antes de enviarla.

Movido a PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: funcion, injection, mysql, 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 21:45.