Presentación del plugin SafeIPLogin

🛡️ ¿Qué es?

SafeIPLogin es un plugin para FacturaScripts que añade una capa de control antes del inicio de sesión: comprueba desde dónde se conecta quien intenta entrar y, si no está autorizado, ni siquiera se llega a validar el usuario y la contraseña.

La autorización se define mediante dos listas blancas independientes: una de direcciones IP y otra de países. Además, el plugin permite revisar y levantar los bloqueos que el propio FacturaScripts aplica tras varios intentos fallidos de acceso.

📦 Ejemplo de uso

Una asesoría tiene FacturaScripts publicado en internet para que su personal trabaje desde casa. Sus empleados se conectan con fibra doméstica y con datos móviles, de modo que su IP cambia constantemente y mantener una lista de IPs fijas es inviable.

La configuración sería:

  1. Añadir España a la lista de países. El plugin descarga los rangos de IP asignados al país y permite entrar desde cualquiera de ellos.
  2. Añadir la IP fija de la oficina a la lista de IPs, como excepción permanente.
  3. Añadir la IP de la VPN corporativa para el socio que pasa temporadas en Portugal.

A partir de ese momento, cualquier intento de acceso desde fuera de esos orígenes se rechaza sin llegar a comprobar la contraseña, lo que deja fuera de golpe a la práctica totalidad de los ataques automatizados de fuerza bruta, que provienen de redes de todo el mundo.

✨ Características principales

  • White List de IPs: direcciones individuales, rangos e intervalos en notación CIDR.
  • White List de Países: autorización por país de origen de la IP, pensada para usuarios con IP dinámica.
  • Descarga e importación automática de los rangos de IP de cada país.
  • Actualización mensual de los rangos mediante tarea programada.
  • Soporte completo de IPv4 e IPv6 en ambas listas.
  • Detección del país mediante la cabecera CF-IPCountry cuando la instalación está detrás de Cloudflare.
  • Tratamiento específico de las IPs de red local, para no bloquear instalaciones alojadas en la propia oficina.
  • Gestión de los bloqueos activos por intentos fallidos, con desbloqueo manual de IPs y usuarios.
  • Posibilidad de desactivar temporalmente cualquier entrada sin borrarla.

🔀 Las dos listas

🌐 1. White List de IPs

Autoriza direcciones concretas: una IP individual (88.24.115.92), un rango (192.168.1.10-192.168.1.50) o una subred (192.168.1.0/24, 2a02:9000::/20).

  • Ideal para IPs fijas: oficinas, servidores, VPN corporativas.
  • Control muy preciso, incluso dentro de la propia red local.
  • Requiere mantenimiento si las IPs cambian.

🗺️ 2. White List de Países

Autoriza todas las IPs asignadas a un país. Al añadirlo, el plugin descarga sus rangos y los guarda en la base de datos.

  • Resuelve el problema de las IPs dinámicas de los operadores.
  • No necesita mantenimiento manual: los rangos se refrescan solos cada mes.
  • Menos preciso: autoriza a todo un país, no a equipos concretos.

Las dos listas son independientes y basta con cumplir una de ellas para acceder. Si ambas están vacías, el plugin no restringe nada.

🗝️ Conceptos clave

  • White List — Lista de orígenes autorizados. Lo que no está en ella, no entra
  • IP Permitida — Entrada de la lista de IPs: dirección, rango o subred
  • País Permitido — Entrada de la lista de países, con sus rangos de IP importados
  • Rango de IP — Bloque de direcciones consecutivas asignado a un país
  • IP privada — Dirección de red local (192.168.x.x, 10.x.x.x, 127.0.0.1, …), que no pertenece a ningún país
  • Bloqueo activo — IP o usuario bloqueado automáticamente tras varios intentos fallidos de login

⚙️ Requisitos

  • FacturaScripts 2026 o superior
  • PHP 8.1 o superior
  • Salida a internet desde el servidor, solo si se va a usar la lista de países (para descargar los rangos)

🧭 Acceso al plugin

El plugin no añade entradas nuevas al menú: amplía la pantalla de usuarios con tres pestañas, en Administrador → Usuarios:

  • IPs Permitidas — listado y gestión de la White List de IPs
  • Países Permitidos — listado y gestión de la White List de Países
  • Bloqueos Activos — IPs y usuarios bloqueados por intentos fallidos

📊 Flujo de validación

Intento de login
      │
      ▼
Detectar la IP real del cliente
      │
      ▼
¿Hay alguna lista configurada? ─────── no ──► Acceso permitido
      │ sí
      ▼
¿Es una IP de red local? ───── sí ──► Solo se comprueba la lista de IPs
      │ no
      ▼
¿Está en la White List de IPs? ─────── sí ──► Acceso permitido
      │ no
      ▼
¿Pertenece a un país autorizado? ───── sí ──► Acceso permitido
      │ no
      ▼
Acceso bloqueado

Solo si el origen resulta autorizado se continúa con la validación normal de usuario y contraseña.

⚠️ Antes de empezar

Riesgo de perder el acceso Una configuración incorrecta puede dejarte fuera de tu propio ERP. Añade siempre primero tu IP, o un rango que la cubra, y comprueba que puedes entrar antes de restringir más.

Si trabajas en local o el ERP está instalado en la red de la oficina, ten en cuenta que activar un país no basta: revisa el apartado de accesos desde la red local en Control de Acceso por IP.

Cookies
Usamos cookies necesarias para el funcionamiento del sitio y cookies opcionales para recordar tus preferencias y mejorar tu experiencia. Puedes aceptarlas todas, rechazarlas o configurar tus preferencias

Soporte