La cámara no es lo más importante

Fotografía — 5/12/2006 @ 14:07

Hace poco leí a Cristobal recalcando una vez más que la cámara no siempre es lo más importante a la hora de obtener buenas fotos. Yo no puedo estar más de acuerdo con él, aunque como yo siempre le decía: ayuda y disfrutas mucho más con una buena cámara. :)

Y precisamente eso le dije yo también a mi hermano, que me pidió mi reflex digital para este puente y no quería llevarse su compacta. Al final, claro, se la dejé. Así que estoy sin mi preciada cámara, que siempre llevo a todas partes.

Hoy he visto por casualidad esta viñeta, y no he podido sino reirme y me he acordado de todo esto:

- Your camera takes really nice pictures. - Your mouth makes really nice compliments

Cómo evitar SPAM en formularios web

De frikis/{ Hacking | Curiosidades } — 5/12/2006 @ 12:25

Seguimos con las recetas de seguridad:

Siempre que tengas un formulario para enviar emails:

  • No permitas definir el “to:” Los spamers usarán tu formulario (y tu servidor) para enviar publicidad a su lista de emails.
  • No permitas n r o similares en ninguno de los campos subject, from,
    to…:
    Pueden usarlos para inyectar campos Bcc/CC con los que añadir destinatarios para los emails, y lograr así enviar correo a través de tu servidor.
  • No uses nombres obvios que busquen los spamers: Buscan campos de formularios que se llamen email, recipient, etc…
  • Si detectas Bcc: en alguno de los campos, tira el mensaje a la basura: Es un intento de envío de correo no solicitado.
  • Usa capchas: Bastante efectivo, aunque algo tedioso de programar y los spammers pueden llegar a contrata a gente de países pobres que les reconozca capchas.

Si es un formulario que mete datos en DB:

  • No uses nombres obvios que busquen los spamers: Buscan campos de formularios que se llamen title, subject, body, post_title, etc…
  • Usa capchas.
  • licas enlaces, añade siempre el rel="nofollow” al tag del enlace: Esto hace que los links no cuenten para google, y por lo tanto deja de interesar tanto a los spammers.
  • Limita el número de links: Si tiene más de un número razonable, suele ser SPAM.
  • Limita los USER_AGENT: Algunas páginas, como los trackback de los blogs no tiene sentido que sean accedidas por navegadores normales. Las peticiones las suelen realizar scripts de blogs con user agents raros, no explorer ni firefox. Bloquear estos navegadores en esas páginas suele ser una buena idea.
  • Sistemas de filtrado: Existen sistemas que analizan la probabilidad de que una entrada sea SPAM, basándose en su contenido, repeticiones… Por ejemplo Akismet es un servicio especializado en filtrar para blogs, y al recibir los comentarios de infinidad de ellos puede detectar rápidamente nuevos spam en cuanto se empiezan a detectar muchos iguales.

Además yo uso un truco tremendamente efectivo:

Suelo incluir unos campos:
<input type="text" name="email" ...
<input type="text” name="title” …

Los metes en un div con display:none, para que los usuarios legítimos no lo vean y no lo rellenen. Los spammers meterán datos en esos campos sin dudarlo y sin darse cuenta del display:none. En cuanto recibas $_POST[’email’] y/o $_POST[’title’] puedes bloquear la petición directamente, sin analizar nada más.

Si puedes, bloquea también la IP por unos minutos (necesitas un firewall que lo permita, o una serie de scripts para gestionar bloqueos temporales), que si no tendrás al spamer entusiasmado venga a hacer peticiones creyendo que funcionan, y chupando demasiado ancho de banda de entrada (al menos este canal suele ser el menos saturado).

Diario de sueños de Guillermo Pérez (aka bisho)