Utilizar comilla simple en MYSQL

Hola, gente... hace mucho tiempo que no escribo...

Bueno aquí les traigo un nuevo artículo, el cual pretende ayudar a las personas que necesiten realizar consultas SQL al servidor MYSQL, que contengan una coimilla simple.

Normalmente una sentencia SQL se hace de esta forma:

ejemplo.php

Nuestro HTML de ejemplo seria así:

index.html

 

Si el usuario digitara en cualquiera de los campos del HTML algo que contenga una comilla simple ', el sitio devolvería un error, esto se debe a que en SQL la comilla simple es utilizada para delimitar las sentencias, y si enviamos una comilla extra, terminaríamos la sentencia SQL de forma errónea en el servidor.

Según esto es que surge el SQL Inyection, se dice que hackers o gente con experiencia puede aprovecharse de esta desventaja para dañar sitios web.

Por ejemplo:

Tomando como ejemplo el código SQL que les escribí anteriormente la sentencia seria leída por el servidor de esta forma:

INSERT INTO tabla (Campo1, Campo2) VALUES ('Ejemplo 1', 'Ejemplo 2')

Al digitarse una comilla simple ' la sentencia seria así:

INSERT INTO tabla (Campo1, Campo2) VALUES ('Ejemplo' 1', 'Ejemplo 2')

Bueno para no cansarlos con el cuento, existen muchas formas de evitar esto, dependiendo del servidor de base de datos podríamos usar Procedimientos Almacenados, o simplemente reemplazar la comilla por otro carácter.

Pero yo prefiero la siguiente sentencia php para solucionar esto y evitar de una vez y para siempre el SQL Inyection en nuestros sitios:

 

$vCampo1 = str_replace("'", '\\\'', $vCampo1 );

Compártelo

También te puede interesar...

Comentarios

    No hay comentarios.

Escribe un comentario

Tienes que estar registrado para poder dejar comentarios.
Accede a tu cuenta o regístrate en NotasWeb.com.
Avatar_273 Sousuke
en el Ranking


Artículos más vistos del usuario

Últimos artículos del usuario