Pregunta

He visto muchos artículos y preguntas sobre mysqli, y todos afirman que protege contra las inyecciones de SQL. Pero ¿es a prueba de tontos, o todavía hay alguna manera de evitarlo? No estoy interesado en los scripts de sitios ni en los ataques de phishing, solo inyecciones de SQL.

Para empezar, lo que debería haber dicho es que estoy usando declaraciones preparadas. Eso es lo que quise decir con mysqli. Si uso declaraciones preparadas sin ninguna concatenación de cadenas, ¿es infalible?

¿Fue útil?

Solución

  

Pero es a prueba de tontos, o todavía hay alguna manera de evitarlo.

No, tienes que saber lo que estás haciendo. Si usa parámetros enlazados (una característica que viene con MySqli), está completamente a salvo de los ataques de tipo inyección de este vector de ataque . Esto no le impide a usted, el programador, incrustar cadenas directamente y, por lo tanto, habilitar los ataques de inyección. Tienes que usar la función como se pretende.

Re: Edit

  

Para empezar, lo que debería haber dicho es que estoy usando declaraciones preparadas. Eso es lo que quise decir con mysqli. Si uso declaraciones preparadas sin ninguna concatenación de cadenas, ¿es infalible?

Foolproof sigue siendo una palabra tan peligrosa. Pero está a salvo de ataques de inyección para las variables que están vinculadas a través de declaraciones preparadas. Esto se debe a que los parámetros enlazados se transmiten por separado de la consulta SQL. Con el " tradicional " incrustación de cadenas, el servidor de la base de datos necesita analizar la entrada y hay muchos casos de borde en eso (conjuntos de caracteres, etc.). Cuando los datos y la consulta se envían por separado, no hay un análisis real en curso (al menos no el análisis de los datos variables).

Otros consejos

No protege de las inyecciones de sql mejor que el módulo mysql anterior, solo hace que sea más fácil para el desarrollador, que ahora puede usar declaraciones preparadas en lugar de llamar a mysql_real_escape_string.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top