Buscador

Busca aquí los artículos:

 

RSS Suscríbete al Boletín

Escribe tu correo para recibir nuestro boletín de artículos:

Plan Iniciación

1 Dominio

3 Gb de Tráfico Mensual

2 Bases de datos MySql

250 Mb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 5 € / Mes

Ir Plan Inicial

Plan Básico

1 Dominio

8 Gb de Tráfico Mensual

10 Bases de datos MySql

600 Mb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 10 € / Mes

Ir Plan Básico

Plan Profesional

1 Dominio

20 Gb de Tráfico Mensual

30 Bases de datos MySql

1,5 Gb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 18 € / Mes

Ir a Plan Profesional

Plan Profesional ISP

50 Gb de Tráfico Mensual

50 Bases de datos MySql

4,5 Gb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 30 € / Mes

Ir a Plan Profesional ISP

Servidor Linux

Tu servidor dedicado con sistema Linux por 199 € al mes .

 

 

Ver más

Servidor Windows

Tu servidor dedicado con sistema Windows por 210 € al mes .

 

 

Ver más

Registre su dominio ahora

www.

Su dominio en 24 horas
Su propio nombre de dominio en un tiempo record, sin complicaciones ni compromisos.

Evitar errores de SQL al insertar cadenas en ASP

Feed RSS Estás en ASP Fecha: 16/10/2007

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.
Publicidad

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.

 

Lecturas: 1084

Artículos Relacionados

SQL Injection en SQL Server

Fecha: 07/05/2007

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.

Coincidencias de la Base de Datos

Evitar el Spam en foros phpbb

Fecha: 02/06/2007

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.

Errores SMTP al enviar un correo electrónico

Fecha: 19/03/2008

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.

Comentarios de los Usuarios (0)

Escribe tu comentario

Nombre:
Título:
Comentario:
Marca esta opción si eres humano

Hosting y Alojamiento Web