Corrección: El aviso de login desde IP nueva nunca se enviaba
El ajuste Notificar login desde IP nueva venía activado por defecto y se mostraba en Configuración → Notificaciones, pero ningún código invocaba el aviso: un administrador que iniciaba sesión desde una red desconocida nunca generaba el mail.
WPS_Admin_Notifier::track_login()(nuevo): se llama desdeWPS_Login_Detector::on_login_success()y avisa cuando un usuario conmanage_optionsinicia sesión desde una red que no usó antes. No aplica a clientes, alumnos ni otros usuarios sin permisos de administración, para no inundar el correo en sitios con muchas cuentas.- Red conocida: se identifica con la clave de cliente, así que en IPv6 rotar de dirección dentro del mismo prefijo (por defecto
/64) no genera avisos. Las redes conocidas se guardan en user meta (wps_known_login_keys, hasta 20 por usuario, se descartan las más viejas) y no en la tabla de intentos de login, que se purga a los pocos días. - Sin avisos al instalar: el primer login de un usuario sin historial no avisa, porque toda red sería «nueva». Las redes se registran aunque el aviso esté desactivado, para que activarlo después no dispare un mail por cada red ya usada.
WPS_Admin_Notifier::notify_new_login_ip()devuelve ahora si el mail se envió.
Corrección: Los avisos de cambios de configuración y de bloqueos automáticos tampoco se enviaban
Igual que el anterior, notify_settings_change() y notify_auto_block() existían con su ajuste en el panel, pero nada las invocaba. De las cuatro notificaciones configurables sólo funcionaba el resumen diario.
- Cambios de configuración (activado por defecto): se avisa al guardar la configuración, al activar o desactivar el Modo Inseguro y al importar una configuración desde archivo. El mail indica qué cambió, quién y desde qué IP: apagar el firewall es lo primero que haría quien tomara una cuenta de administrador.
- Bloqueos automáticos (desactivado por defecto): un mail por bloqueo inundaría el correo durante un ataque, así que ahora se envía un resumen por hora, y sólo si hubo bloqueos.
WPS_Blockerencola cada bloqueo automático, de IP o de red, en la opciónwps_block_digest(los manuales no, porque los hace el propio administrador).WPS_Admin_Notifier::send_block_digest()(nuevo, reemplaza anotify_auto_block()) corre con el cron horario, envía un único mail con hasta 100 bloqueos detallados más el total, y vacía la cola. La cola vive enWPS_Blockerporque la Capa 1 bloquea antes de que el autoloader del plugin esté registrado. - Importar configuración regenera el archivo de la Capa 0, que la importación puede encender o apagar.
- Desinstalación: elimina también la opción
wps_block_digest. configuration.md: la sección de notificaciones describía ajustes que no existen («Frecuencia de resumen» semanal); ahora lista los reales.
Corrección: Consulta extra por petición en sitios actualizados
WPS_Blocker::client_key()leía el ajusteipv6_block_prefixtambién para IPs IPv4. En instalaciones actualizadas desde versiones anteriores ese ajuste no estaba guardado, y cada petición hacía una consulta a la base de datos para buscarlo. Ahora sólo se lee para IPv6.- Migraciones: cada cambio de versión completa los ajustes por defecto que falten (
WPS_Activator::set_defaults(), ahora público), así los ajustes nuevos existen también en sitios actualizados.
Versión
- Versión actualizada a
0.4.1en la cabecera del plugin, la constanteWPS_VERSIONy el MU-plugin.