Spam en los trackbacks
Que ilusión, nunca había tenido spam en la bitácora :). El punto de entrada han sido los trackback, que cuando los implementé no incluí ninguna previsión anti-spam.
Anoche borré tres referencias (palabra castellana que podría valer), espero que las últimas de este tipo :P, y procedí a implementar un hack bastante simple:
/* tras verificar todo lo razonable, verificamos origen */ /* primero recogemos la página que nos hace trackback */ $pagina=file_get_contents(htmlentities($m_url)); /* si no podemos obtener la página, no hay trackback */ if($pagina==FALSE) { tb_respuesta(1, "La URL parece no ser correcta" ." (no se ha podido cargar)."); exit; } /* buscamos en la página nuestra URL, si tenemos más de * un punto de entrada tendríamos que buscarlos todos * para ser justos */ if(strpos($pagina, "http://blackshell.usebox.net")==FALSE) { tb_respuesta(1, "La página apuntada por la URL" ." parece no hacer referencia a esta bitácora."); exit; } /* perfecto, parece que es un trackback real */ $pagina="";
Bien, en primer lugar: es un hack. En realidad habría que verificar que se trata de un enlace, pero como medida antispam es suficiente. La función tb_respuesta devuelve el mensaje en formato XML (indicando 1 como error) cuando la página apuntada por el trackback no parece apuntar a nuestra bitácora.
Y el segundo punto débil es ese parece apuntar. Con esta verificación perdemos que alguien nos pueda hace trackback para completar una anotación, aunque no nos referencie.
Ventajas e inconvenientes sobre la mesa, parece una buena solución. También puede que me haya cargado los trackback y ahora no funcionen, pero de eso ya me enteraré cuando me manden alguno y no vaya (¡o sí! ¿quién sabe? :P).
Actualización: Funciona. En los 7 días que llevamos de mes, han habido 123 intentos de trackback, y solo ha pasado uno (legítimo, además).
Hay 5 comentarios
![]()
Además lo comento como un punto débil. Pero tampoco tengo muchos trackbacks, así que a partir de ahora serán obligatoriamente referencias con un enlace hacia aquí, y problema de spam resuelto.
A lo que le he dado vueltas es a que estos mecanismos se pueden usar por un usuario malintencionado para acceder a una página empleando este servidor. No verá la página ni podrá recuperar de ninguna forma esa descarga, pero se me ocurre algún tipo de ataque que pueda producirse pasando cosas por GET... pero tampoco es tan preocupante (tengo logs para saber quién hizo esa petición).
Por cierto, me alegro que estés de vuelta :)
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.


por David Martínez, en 2006-03-04 12:53:12 ∞