ControlTiempo: Seguridad y sesión

ControlTiempo da acceso a los empleados sin usar los usuarios de FacturaScripts, así que incorpora sus propias medidas de seguridad para el inicio de sesión y para mantener la sesión abierta en el móvil. Esta publicación resume cómo funcionan; en el uso normal no tienes que configurar nada.

Contraseñas cifradas

Las contraseñas de los empleados se guardan hasheadas (cifradas de forma irreversible), nunca en texto plano. Cuando escribes una contraseña al crear o editar un empleado, el sistema la cifra al guardar. La longitud mínima es de 8 caracteres.

Bloqueo por intentos fallidos

Para frenar los intentos de adivinar una contraseña:

  • Tras 5 intentos fallidos consecutivos en una cuenta, esta se bloquea durante 15 minutos.
  • El mensaje al empleado le indica cuántos intentos le quedan antes del bloqueo.
  • Un inicio de sesión correcto reinicia el contador.
  • Restablecer la contraseña (recuperación por email) desbloquea la cuenta.

Por seguridad, el login no revela si un código de empleado existe o no: siempre responde igual ante credenciales incorrectas.

Límite de intentos por IP

De forma complementaria al bloqueo por cuenta, hay un límite por dirección IP: un máximo de 20 intentos cada 5 minutos desde la misma IP. Superado el límite, los siguientes intentos se rechazan con un mensaje genérico. Esto frena los ataques que prueban muchos códigos distintos desde un mismo origen.

Si estás detrás de Cloudflare o un balanceador de carga. Para que el límite por IP distinga a cada empleado (y no vea a toda la plantilla como una sola IP), hay que declarar los proxies de confianza en la configuración del plugin (TRUSTED_PROXIES). Sin proxy declarado, se usa la IP directa de la conexión, que no es falsificable. Si tu FacturaScripts es de acceso directo, no necesitas tocar nada.

Sesión persistente y segura

La sesión del empleado se mantiene 30 días mediante una cookie firmada:

  • La cookie va firmada criptográficamente (HMAC), así que es a prueba de manipulación.
  • Se marca como HttpOnly y, sobre HTTPS, como Secure (también se detecta el HTTPS correctamente detrás de proxy, balanceador o Cloudflare).
  • Cambiar la contraseña invalida automáticamente las sesiones anteriores del empleado, en cualquier dispositivo.

Nota sobre el móvil (iOS)

Si el empleado añade la web a la pantalla de inicio del iPhone y la usa como "app", iOS puede perder la cookie de sesión al cerrarla del todo (es un comportamiento conocido del navegador de Apple). El plugin lo resuelve de forma transparente: reanuda la sesión automáticamente al reabrir, sin volver a pedir credenciales, y sin cerrar el fichaje que estuviera en curso. Al cerrar sesión a propósito, esa reanudación automática se desactiva. En Android no ocurre este problema.

Aclaración útil para soporte. El plugin solo cierra un fichaje cuando el empleado pulsa "Fichar salida". Cerrar el navegador, apagar el móvil o perder la sesión no cierra el fichaje: el registro sigue abierto y reaparece con su cronómetro al volver a entrar. Si un empleado dice que "se le cerró el fichaje solo", casi siempre es que tuvo que volver a iniciar sesión, no que el fichaje se cerrara.


Siguiente paso: Preguntas frecuentes y limitaciones.

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