Fractal Web Admin

Inicio / Novedades / Formulario de Contacto anti-SPAM

Formulario de Contacto anti-SPAM

14 de noviembre de 2006
Por fin, luego de una larga espera, hice un formulario de contacto para el portal. Bueno, ¿y qué tiene de especial un simple formulario de contacto? La verdad, nada, pero ya estaba haciendo falta esta herramienta.

Realmente si tiene algo de especial, como todos saben, este tipo de mini aplicaciones se integran en el sistema con un tipo de contenido llamado Incluir Archivo (ah, ¿no lo sabían?). El punto es que esto antes solo hacía una simple llamada a la función include() de PHP con el nombre del archivo indicado, pero siempre tuve la intriga de incluir algún parámetro opcional que pudiese procesar o leer el archivo mismo. Como include() no permite enviar parámetros adicionales (bueno, si lo permite, pero con toda una serie de características no tan comunes en todos los servidores), así que añadí un comportamiento especial que ahora permite suministrar estos parámetros que finalmente son incluidos como variables con nombre propio dentro del mismo script.

Así, le puedo mandar a la aplicación que genera el formulario de contacto una lista de correos electrónicos que se listarán en una casilla de selección para que el visitante escoja con quien quiere comunicarse. Luego perfeccionaré el editor para que la inclusión de parámetros sea más intuitiva, tal vez un par de casillas en donde el editor ponga el nombre de la variable y su correspondiente valor.

De manera aditiva, el formulario de contacto tiene un simple mecanismo anti-spam, el terror de foros y formularios de contacto, ya que abundan los robots que, empleando estos simples mecanismos de comunicación, envía o postean a diestra y siniestra correos no deseados. Las ideas me vinieron de una nota publicada hace poco en Slashdot (ver: Form Spam: Increasing the Attacker's work function), en donde explican algunas de las técnicas anti-spam para foros y formularios.

El sistema consiste en crear otros campos adicionales con nombres sugestivos para los robots que buscan formularios como email o subject, e incluirlos dentro del formulario. A través de estilos se ocultan para que el visitante humano solo rellene los que nos interesan, los cuales pueden tener nombre extraños o aleatorios (como lo hice en mi caso). Si al recibir el formulario, los campos señuelo llegan llenos, simplemente se descarta ese envío (y de paso se le manda algún ataque DoS a su IP). simple, pero efectivo. Ver en http://www.f20x.com/7.

Por otro lado, he pensado seriamente en lanzar mi CMS como Open Source. Aun no lo hago pues quiero definir muchas cosas antes y darle un sentido lógico a su posible desarrollo por terceros, pero si lo tengo muy presente. Si en algún momento recibo un apoyo más allá del sentimental, para continuar mi trabajo, creo que la fecha de liberación del proyecto se podría adelantar enormemente.

Manuel Herrera López
Powered By Fractal Web Admin CMS