septiembre 19

Restringir registro de usuarios en phpBB a un dominio de correo

phpBB es uno de los sistemas de foros de código abierto más populares del mundo. Impulsa millones de foros en Internet, desde comunidades pequeñas hasta enormes foros empresariales. Una necesidad común al administrar un foro phpBB es restringir el registro de usuarios a un dominio de correo específico, por ejemplo, solo permitir registros con direcciones de correo de tu empresa. En esta guía te explico cómo hacerlo.

¿Por qué restringir el registro por dominio?

Hay varias razones para limitar los registros a un dominio de correo:

  • Control de acceso — Solo empleados o miembros de una organización pueden registrarse
  • Prevención de spam — Evita registros masivos con correos temporales
  • Identidad verificada — Si alguien tiene un correo de tu dominio, es (probablemente) quien dice ser
  • Cumplimiento — Algunas organizaciones requieren que solo correos corporativos accedan a ciertos recursos

Método 1: Modificación del código de registro

Paso 1: Localizar el archivo

El archivo de registro se encuentra en:

/includes/ucp/ucp_register.php

Paso 2: Añadir la validación de dominio

Busca la sección donde se valida el email (alrededor de la línea 200-250) y añade:

// Restringir a dominio específico
$allowed_domain = 'tudominio.com';
$email_parts = explode('@', $email);
$domain = end($email_parts);

if ($domain !== $allowed_domain) {
    $error[] = 'Solo se permiten registros con correos de ' . $allowed_domain;
}

Paso 3: Verificar

Guarda los cambios e intenta registrarte con un correo de otro dominio. Deberías ver el mensaje de error.

Método 2: Usando una extensión

Si prefieres no modificar el código core, puedes usar una extensión de phpBB:

  1. Ve al ACP (Panel de Administración) → PersonalizacionesExtensiones
  2. Busca «Email Restriction» o «Domain Restriction» en el directorio de extensiones de phpBB
  3. Instala y configura la extensión con tu dominio permitido

Método 3: Validación con expresión regular

Para una validación más robusta, puedes usar una expresión regular que verifique el formato del correo y el dominio:

// Validar formato y dominio
$email = trim($email);
$allowed_domains = array('tudominio.com', 'tudominio.es', 'tudominio.org');

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $error[] = 'El formato del correo no es válido.';
} else {
    $domain = substr(strrchr($email, "@"), 1);
    if (!in_array($domain, $allowed_domains)) {
        $error[] = 'Solo se permiten correos de: ' . implode(', ', $allowed_domains);
    }
}

Consideraciones adicionales

  • Dominios múltiples: Puedes permitir varios dominios si tu organización usa varios
  • Subdominios: La validación debe incluir subdominios si es necesario (ej: *.tudominio.com)
  • Notificación: Considera mostrar un mensaje claro al usuario sobre la restricción antes de que intente registrarse
  • Usuarios existentes: Esta restricción solo afecta a nuevos registros, no a usuarios ya existentes

Conclusión

Restringir el registro de usuarios en phpBB a un dominio de correo es una medida de seguridad sencilla pero efectiva. Ya sea modificando el código, usando una extensión o implementando validación con expresiones regulares, puedes controlar quién tiene acceso a tu foro con muy poco esfuerzo.

Categoría: Docker, Inteligencia Artificial, Seguridad | Comentarios desactivados en Restringir registro de usuarios en phpBB a un dominio de correo