Tengo un sitio en ASP que envía u email al administrador (a mi) cuando ocurre un error en el manejo de la base de datos, es decir, un insert, update, select o cualquier otra instrucción SQL.
Desde hace unos 15 días estoy recibiendo un correo en el cual un usuario intenta registrarse y falla en el Insert. El error indica que existen campos cuyo criterio no coinciden.
Support,
There are errors in your Comersus Store:
INSERT INTO customers (name, last_name, fecha_nac, sexo, email, city, country, phone, address, zip, password, state , ip, fecha_reg,customerType) VALUES ('','Valintino','//','M, F','[email protected]','', '','','Hello, Your site is great. http://www.abra1.com <a href="http://www.abra2.com">abra2</a> abra3 http://www.abra4.com Regards, Valintino Guxxi','','','','124.155.113.21','10/27/2007',0)[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Lo extraño es que este formulario valida los campos y algunos de ellos están vacíos a la hora de hacer el insert. La fecha de registro y la IP del usuario siempre son las mismas.
Intenté bloquear al usuario usando la IP, pero no funcionó. Luego usé request.ServerVariables("HTTP_REFERER") para que solo si viene desde una página especifica (la página anterior) lo dejara pasar..sin embargo TAMPOCO funcionó.
Luego, hice una modificación en el SQL para observar el cambio y mis sospechas fueron ciertas...el SQL que está intentando ejecutar este intruso NO ES EL MISMO QUE ESTÁ EN MI WEB!

En vista de esto, busqué en google 'Valintino Guxxi' que, como pueden ver, aparece en el error como parte de los datos que intentan insertar, y me aparecieron 159,000 ocurrencias...me da la impresión de que este señor es más famoso de lo que yo pensaba...ha logrado insertar comentarios en Blogs, respuestas en foros, etc
A pesar de los 159,000 ocurrencias, no encontré nada sobre como evitarlo...
Alguna idea??
Saludos y muchas gracias,
Luis Vásquez