Skip to content

v0.7.4

Latest

Choose a tag to compare

@fabiomb fabiomb released this 06 Oct 21:57

Cambio: el asistente empieza por lo básico y deja la geolocalización para el final (#33)

El paso 1 del asistente pedía la API key de ipinfo.io: lo primero que se veía era una dependencia externa opcional.

  1. Básico: CDN/proxy (para ver la IP real) y agregar tu IP actual a la whitelist. La IP se resuelve con el modo de proxy recién elegido, no con el anterior.
  2. Protección: login y XML-RPC.
  3. Rate limiting.
  4. Geolocalización (opcional): Ninguna, ipinfo.io o MaxMind, con lo que se pierde sin proveedor y un resumen final. Si se elige una base local, al finalizar se abre la página de Geolocalización para descargarla; si faltan credenciales, se avisa.

Nuevo: geolocalización opcional y MaxMind como segundo proveedor (#32)

La geolocalización dependía sólo de ipinfo.io y el panel la mostraba como un requisito («API Key: No configurada» en rojo), aunque el plugin funcionaba igual sin ella.

  • Proveedor de geolocalización: Ninguno, ipinfo.io o MaxMind GeoLite2, uno por vez. Cada proveedor usa sus propios archivos y nunca se mezclan datos de uno con el otro; dentro de un proveedor se mantiene el respaldo entre API y base local.
  • MaxMind GeoLite2: base local (GeoLite2-Country + GeoLite2-ASN, descargadas con Account ID + License Key) o web service GeoLite. La credencial sólo se envía a MaxMind, no al CDN al que redirige la descarga; el .tar.gz se extrae sin depender de la extensión Phar. El web service guarda cada resultado 24 horas (la cuota gratuita es de 1.000 consultas por día) y deja de consultar unos minutos ante errores de cuenta o de cuota.
  • Actualización automática de la base local del proveedor activo con el mantenimiento diario: cada 7 días para MaxMind y cada 30 para ipinfo.io (antes ipinfo.io no se actualizaba sola).
  • Sin proveedor, todo sigue funcionando: el panel lo marca como «Desactivada (opcional)» y explica qué se pierde (bloqueo por país/ASN, esos datos en tráfico, eventos y notificaciones, y los países de alto riesgo del motor de riesgo). Firewall, login, rate limiting y detectores no cambian. Las pestañas País y ASN de Bloqueos avisan si no hay proveedor.
  • La página «Base de Datos IP» pasa a llamarse Geolocalización, con el estado de cada proveedor, la descarga y la prueba de una IP. En Configuración, «API y Datos» pasa a ser Geolocalización y el ajuste de búsqueda de versiones nuevas se mueve a Actualizaciones.
  • La License Key de MaxMind, como la API key de ipinfo.io, no se incluye al exportar la configuración.
  • Los sitios que ya usan ipinfo.io (con API key o base descargada) siguen con ipinfo.io sin tocar nada; las instalaciones nuevas arrancan sin proveedor.

Corrección: el asistente quedaba en blanco después del paso 1 (#31)

En varios sitios en producción, al completar el paso 1 del asistente el siguiente aparecía en blanco y no se podía seguir; en algunos se veía «Cannot modify header information - headers already sent».

  • El asistente guardaba cada paso dentro de la página, cuando WordPress ya había impreso el encabezado del panel: la redirección al paso siguiente no podía enviarse y la página quedaba cortada. El paso 1 se guardaba igual.
  • Dependía de output_buffering en el php.ini del hosting, por eso en algunos sitios funcionaba.
  • Ahora cada paso se guarda y redirige en admin_init, antes de imprimir nada.

Versión

  • Versión actualizada a 0.7.4 en la cabecera del plugin, la constante WPS_VERSION y el MU-plugin. Sin cambios en las tablas: los ajustes nuevos (geo_provider y los de MaxMind) se completan al actualizar, y los sitios con ipinfo.io quedan con ipinfo.io como proveedor.