SERVICIOS: 902 027 102
Busqueda

Sistema web de Comercio Electrónico Lazarus

El sistema de comercio electrónico o tienda virtual Lazarus, es la herramienta web definitiva que le permitirá vender sus productos por internet de una forma eficiente y ágil. Lazarus le permite crear una Tienda Online indistintamente del tipo de producto

Sistema web de Comercio Electrónico Lazarus
Suscribete al boletin

Escribe tu correo electronico para recibir nuestro boletin de articulos.

Evitar errores de SQL al insertar cadenas en ASP

Es muy común el tener errores al ingresar cadenas de texto cuando grabamos en una base de datos, pero aplicando unos cuantos controles podemos evitarlo.

 

Muchos desarrolladores simplemente introducen las cadenas recibidas desde su Web en la base de datos sin comprobarlas. Y ese es un gran problema de seguridad, aunque un usuario sin experiencia no podría hacer mucho más que causar un error 500 en nuestro servidor, otros podrían hasta bloquear los servicios o eliminar información sensible.

Para evitar este tipo de errores es vital que creemos una función que se dedique a "sanear" las cadenas recibidas por formularios, querys, etc. Su aplicación es muy sencilla y puede salvarnos de perdidas que nos traerán verdaderos dolores de cabeza.

Seguro que muchos de vosotros no os explicáis porque nos devuelve un error el servidor cuando intentamos grabar una comilla simple en la base de datos. Pues esa pregunta tiene una fácil respuesta, "Porque nos desmonta la consulta SQL", veamos un ejemplo práctico.

Tenemos esta consulta:
Insert Into usuarios (nombre, apellidos) Values ('Pepe', 'Montoya');

En un principio es una consulta normal, ¿pero que pasaría si el usuario ingresara en el nombre este dato?; "Pepe's", que la consulta quedaría así:
Insert Into usuarios (nombre, apellidos) Values ('Pepe's', 'Montoya');

Indudablemente la consulta SQL generaría un error, porque hay una comilla que sobra, para evitar esto, simplemente tenemos que añadir una nueva comilla simple haciendo un reemplazo del campo de texto, una función válida podría ser esta:

<%
Function Sanea(Texto)
Sanea = Replace(Texto, "'", "''")
End Function
%>

Antes de grabar cualquier cadena, sería conveniente pasarla para limpiar los datos:

SQL = "Insert Into usuarios (nombre, apellidos) Values ('" & Sanea(TextoNombre) & "', '" & Sanea(TextoApellido) & "');"

Donde TextoNombre y TextoApellido son los campos del formulario que vamos a guardar.

Además de esta pequeña instrucción es conveniente que nos preparemos para otra técnicas que nos pueden afectar como por ejemplo la inyección SQL, pero para eso os he añadido un manual en los artículos relacionados donde disponéis de más información.

Artículos Similares

Errores SMTP al enviar un correo electrónico

Algunas veces al enviar un correo electrónico, el servidor de correo del destinatario, puede devolvernos un mensaje con un error SMTP, indicándonos el motivo por el que nuestro correo no ha podido ser entregado. Descubre los errores mas comunes.

SQL Injection en SQL Server

Muchos programadores no tienen en cuenta el potencial peligro que supone no validar las cadenas que el usuario nos envía a la Web, estas se pueden convertir en ataques que podrían arruinar nuestro sistema.

Evitar el Spam en foros phpbb

En los últimos tiempos han sido muchos los foros afectados por el spam de manera masiva, parece ser que el sistema phpbb se ha vuelto vulnerable al ataque de bots que se dedican a poner mensajes indeseados, aprende a evitarlos.

Condiciones de Uso | Política de Privacidad
Copyright © 2010 Solingest. Todos los derechos reservados.
Desarrollado por mediante sistema