Gestión de la White List de Países
A partir de la versión 2.03, SafeIPLogin permite autorizar el acceso por país de origen de la IP, además de por IP concreta.
Esta lista resuelve un problema habitual: los operadores de telefonía y fibra asignan IPs dinámicas, que cambian cada pocos días, por lo que mantener una lista de IPs fijas resulta inviable para usuarios domésticos o móviles. Sin embargo, esas IPs siempre pertenecen a bloques que los registros regionales de internet (RIPE en Europa) tienen asignados a un país concreto. Filtrar por país permite dejar fuera al resto del mundo sin tener que perseguir el cambio de IP de cada usuario.
Acceso a la lista de países permitidos
- Accede al menú Administrador → Usuarios → Países Permitidos.
- Verás el listado de países autorizados, con el número de rangos de IP importados de cada uno y la fecha de su última actualización.

Actualizar la lista de países disponibles
El botón Actualizar Países descarga de ipdeny.com el catálogo de países publicados (algo más de 240) y lo guarda en MyFiles/SafeIPLogin/ipdeny-index.json.
Este catálogo es el que alimenta el desplegable al dar de alta un país. No es obligatorio pulsarlo: si nunca se ha descargado, el desplegable muestra todos los países del sistema. Al actualizarlo, la lista se ajusta a los países que realmente tienen rangos publicados.
Añadir un país
Pulsa el botón Nuevo. A diferencia del resto de listados de FacturaScripts, no se abre una ficha vacía sino una ventana modal con un desplegable de países, en el que puedes escribir para filtrar por nombre.
Al aceptar, el plugin realiza automáticamente todo el proceso:
- Crea el país en la lista, inicialmente inactivo.
- Descarga sus rangos de IP, tanto IPv4 como IPv6.
- Importa los rangos a la base de datos.
- Si la importación se completa, activa el país y muestra cuántos rangos se han importado.
Si la descarga falla (el servidor no tiene salida a internet, o el servicio no está disponible), el país se guarda inactivo y se muestra un aviso. Esto es intencionado: un país marcado como permitido pero sin rangos importados no dejaría entrar a nadie, así que el plugin nunca lo deja en ese estado.
Los países ya dados de alta no vuelven a aparecer en el desplegable.

Ficha del país
Al pulsar sobre un país del listado se accede a su ficha, donde se muestran:
- País: no es modificable. Los rangos importados están vinculados a él, de modo que para cambiar de país hay que borrar el registro y crear otro.
- Núm. de Rangos: cantidad de bloques de IP importados. España, por ejemplo, ronda los 4.500 entre IPv4 e IPv6.
- Última modificación: fecha de la última importación correcta.
- Notas: campo libre para el administrador.
- Activo: permite desactivar temporalmente el país sin perder sus rangos.
El botón Actualizar Rangos vuelve a descargar los ficheros del país. Si el contenido no ha cambiado desde la última importación, el plugin lo detecta y no reimporta nada, avisando de que no hay cambios.

Eliminar un país
Al eliminar un país se borran también todos sus rangos de IP y los ficheros descargados. Si vuelves a añadirlo más adelante, se descargarán de nuevo.
Desactivar no es lo mismo que eliminar: un país desactivado conserva sus rangos y solo queda excluido de la comprobación de acceso.
Actualización automática
Los rangos de IP de cada país cambian con el tiempo, ya que los bloques se reasignan y se transfieren entre operadores. El plugin incluye una tarea programada que, el día 1 de cada mes a las 4:00, revisa los países activos y reimporta únicamente aquellos cuyos datos hayan cambiado.
Requiere que el cron de FacturaScripts esté configurado en el servidor. Si no lo está, mantén los rangos al día con el botón Actualizar Rangos de cada país.
Cómo se determina el país de una IP
El plugin sigue dos vías, por este orden:
- Cabecera de Cloudflare: si la instalación está detrás de Cloudflare y tiene activada la opción IP Geolocation, se usa el país que envía en la cabecera
CF-IPCountry. Es inmediato y siempre está al día. Se descartan los valoresXX(desconocido) yT1(red Tor). - Rangos importados: se busca la IP entre los rangos de los países activos. Funciona igual con IPv4 y con IPv6.
Si ninguna de las dos vías identifica el país, se deniega el acceso.
Las IPs privadas son un caso aparte
Las direcciones de red local y de loopback (127.0.0.1, ::1, 10.x.x.x, 172.16.x.x a 172.31.x.x, 192.168.x.x, fc00::/7, fe80::/10) no pertenecen a ningún país, porque ningún registro regional las asigna. Por eso nunca se comprueban contra la lista de países: de lo contrario, activar un país bloquearía a toda la plantilla en una instalación alojada en la propia oficina.
Sí se comprueban contra la lista de IPs. Así el administrador puede seguir limitando desde qué segmentos de la red local se permite entrar, por ejemplo autorizando la VLAN de oficina y dejando fuera la wifi de invitados.
Limitaciones que conviene conocer
La geolocalización por IP a nivel de país es fiable, pero no infalible. Conviene tener presente que:
- Un usuario conectado a una VPN aparecerá con el país de salida de la VPN, no con el suyo.
- iCloud Private Relay y servicios similares pueden alterar la IP de salida.
- En roaming, algunos operadores hacen salida local, de modo que un móvil español en Portugal puede aparecer como portugués.
- Los datos proceden de los registros regionales e indican el país donde el bloque fue asignado originalmente, no necesariamente dónde se está usando hoy. Los bloques recién transferidos entre operadores pueden tardar semanas en reflejarse.
Por eso la lista de IPs sigue siendo útil: sirve como excepción explícita para casos concretos, como un empleado desplazado al extranjero o una VPN corporativa con salida en otro país. Basta con cumplir una de las dos listas para poder entrar.
Origen de los datos
Los rangos de IP por país proceden de IPDENY.COM, que los elabora a partir de los registros de APNIC, LACNIC, ARIN, AFRINIC y RIPE.
Los ficheros se descargan en la instalación y se guardan en MyFiles/SafeIPLogin, junto con el aviso de copyright del proveedor. No se distribuyen con el plugin.
Powered by IPDENY.COM IP database (https://www.ipdeny.com).