¿Por qué mis programas no pueden hacer cálculos aritméticos correctamente?

Las sentencias dinámicas son sentencias SQL que se crean como cadenas de texto (strings) y en las que se insertan/concatenan valores obtenidos de alguna fuente (normalmente proveniente del usuario), lo que puede hacer que sean vulnerables a inyección SQL si no se sanean las entradas, como por ejemplo:

$id_usuario = $_POST["id"];
mysql_query("SELECT * FROM usuarios WHERE id = $id_usuario");

Eso es un ejemplo de una vulnerabilidad grave en la seguridad de una aplicación (web o no) porque si el usuario introdujese un valor como 1; DROP TABLE usuarios;-- nos encontraríamos con que la sentencia ejecutada sería:

SELECT * FROM usuarios WHERE id = 1; DROP TABLE usuarios;

Y se eliminaría la tabla Usuarios con todos los datos contenidos en ella.

¿Cómo puedo evitar que la inyección SQL ocurra en PHP?

Adrián Fajardo

01 Septiembre, 2021
✓ Respuesta validada
Pablo VERKIA Miércoles, 01 Septiembre 2021 11:30
Eso es un ejemplo de una vulnerabilidad grave en la seguridad
5
Adrián Fajardo Miércoles, 01 Septiembre 2021 11:30
Y se eliminaría la tabla Usuarios con todos los datos contenidos en ella.
0

Encuentra ayuda

¿Te queda alguna duda?

Hostingato ® 2021. Marca registrada.

Las cookies son importantes para ti, influyen en tu experiencia de navegación. Usamos cookies técnicas y analíticas. Puedes consultar nuestra Política de cookies. Al hacer click en "Aceptar", consientes que todas las cookies se guarden en tu dispositivo o puedes configurarlas o rechazar su uso pulsando en "Configurar".

Aceptar Configurar