Cómo mejorar la seguridad de los foros phpBB2

Actualización: en la rama 3 de phpbb probablemente no haga falta hacer todo ésto.

Mientras esperamos la salida de la versión 3 de los foros en phpBB, los administradores vemos cómo de un tiempo a esta parte somos acosados por el spam. Tener un foro en el que un usuario no registrado pueda escribir se ha convertido casi en una utopía, los spammers se las saben todas y para hacer su publicidad han ideado maneras de registrar usuarios muy elaboradas. Ya hay mucha gente que no permite el registro sino que mete los usuarios a mano.

Vamos a ver, este tipo de inventos (cms, foros…) se inventaron para que todo fuera fácil y cómodo y que haya unos cuantos dedicados a vender sus métodos para llenarte un foro de basura debe tener remedio. Después de probar varias soluciones (The Humanizer quizá sea la más conocida) creo que lo mejor que podemos hacer es trabajar más los captchas, es por eso que la comunidad de modificaciones de phpbb ha sacado Better Captcha, que si no me equivoco es la tecnología que traerá la versión tercera. De momento, en 24 horas no se me ha registrado ningún usuarios de spam, cuando la media anterior era de dos o tres diarios.

Al grano, que me lío.

  • Para instalar better captcha, vamos a descargar la última versión
  • Nos descargamos y descomprimimos el zip.
  • Copia todos los archivos que hay dentro del directorio root/includes que acabas de descomprimir en el directorio includes de tu foro.
  • Crea una copia de seguridad del archivo profiles.php por si las moscas y ábrelo (el original).
  • Busca el texto: include($phpbb_root_path . 'includes/usercp_confirm.'.$phpEx);
  • Sustitúyelo por: include($phpbb_root_path . 'includes/usercp_captcha.'.$phpEx);
  • Guarda los cambios y súbelos al servidor.

¿Fácil, verdad?

Ahora sólo tienes que estar atento, por si alguna de las actualizaciones de phpbb2 cambia ese archivo, ya que se perdería la mejora.

Una última cosa, quizá te parezca mal que los datos de tus usuarios registrados sean públicos, personalmente, a mi no me gusta que las direcciones de correo de tanta gente sean accesibles, así que para que la lista de miembros sea visible sólo para registrados tienes que hacer lo siguiente:

  • Abre el archivo memberlist.php
  • Busca: // End session management
  • Justo debajo añade:
    if ( !$userdata[‘session_logged_in’] )
    {
    redirect(append_sid(“login.”.$phpEx.”?redirect=memberlist.”.$phpEx, true));
    exit;
    }

Ten cuidado, igual que en el caso anterior, una actualización podría echar a perder estos cambios.

15 thoughts on “Cómo mejorar la seguridad de los foros phpBB2”

  1. Pingback: meneame.net
  2. Ya conseguí por fin hacerlo, es “sensillito” 🙂 entre esto y el “humanizer”, espero que sean los menos bot’s posibles.

    Saludos conileños,
    Daniel.

  3. hola, saludos.

    quisiera saber si con la utilidad “better captcha” habra algun problema con el “skin” del foro, ya que me di cuenta que dice algo de subsilver en el nombre del archivo y tambien dentro del mismo y ese subsilver no es el que yo utilizo . . .

    de antemano gracias.

  4. Bueno, no deberías tener mucho problema con otros skins. Según recuerdo lo que editas es una linea para que carge la imagen del better captcha en vez de la antigua.

    Tendrás que editar el mismo fichero en tu skin (o alguno muy similar).

    Un saludo.

  5. Gracias por la ayuda, está excelente espero que funcione lo acabo de instalar, solo el segundo paso para que la lista de los correos no este disponible, me tira un error.. No se si estoy haciendo algo mal.. Saludos!

  6. Más gente me ha dicho lo mismo en algún momento, pero no tengo ni idea del motivo, lo siento.

    De todas maneras, te aconsejo que uses la rama 3.0, que acaba de salir.

    Un saludo.

Leave a Reply

Your email address will not be published. Required fields are marked *