ControlTiempo: Seguridad y sesión
ControlTiempo da acceso a los empleados sin usar los usuarios de FacturaScripts, así que aplica sus propias medidas de seguridad. En el uso normal no hay que configurar nada.
Contraseñas cifradas
Las contraseñas se guardan con un hash irreversible, nunca en texto plano. Se cifran al guardar y deben tener al menos 8 caracteres.
Bloqueo por intentos fallidos
- Tras 5 fallos consecutivos, la cuenta se bloquea durante 15 minutos.
- El mensaje indica al empleado cuántos intentos le quedan.
- Un inicio de sesión correcto reinicia el contador.
- Restablecer la contraseña por email desbloquea la cuenta.
- El inicio de sesión no revela si un código de empleado existe.
Límite de intentos por IP
Además del bloqueo por cuenta, hay un límite de 20 intentos cada 5 minutos por dirección IP. Al superarlo, los intentos se rechazan con un mensaje genérico. Frena a quien prueba muchos códigos distintos desde el mismo sitio.
Si tu FacturaScripts está detrás de Cloudflare o de un balanceador, declara sus direcciones como proxies de confianza (
TRUSTED_PROXIESen la configuración del plugin) para que se use la IP real del empleado. Con acceso directo no hace falta configurar nada.
Sesión persistente y segura
- La sesión dura 30 días y se mantiene con una cookie.
- La cookie va firmada (HMAC) para que no se pueda manipular, es HttpOnly y, con HTTPS, Secure. Detecta HTTPS también detrás de proxy, balanceador o Cloudflare.
- Cambiar la contraseña invalida las sesiones anteriores del empleado en todos sus dispositivos.
Acciones protegidas
- Las acciones del empleado (fichar, pausar, activar vacaciones, cerrar sesión…) solo se aceptan desde los botones de su pantalla. Un enlace externo o una pestaña antigua del navegador no pueden fichar ni cerrar un fichaje en su nombre.
- Tras cada acción, la página vuelve a su dirección normal: recargar no repite la acción.
- Si se pulsa dos veces seguidas un botón, solo se registra una vez.
- El enlace del email de recuperación de contraseña se construye con la URL del sitio configurada en FacturaScripts, no con la dirección que envía el navegador. Así nadie puede hacer que el correo apunte a otra web.
Nota sobre el móvil (iOS)
Si la web se añade a la pantalla de inicio del iPhone, iOS puede perder la cookie de sesión al cerrar la app del todo. El plugin reanuda la sesión automáticamente, sin pedir credenciales y sin cerrar el fichaje en curso. Android no tiene este problema.
Al cerrar sesión a propósito, esa reanudación automática se desactiva.
Para soporte: un fichaje solo se cierra cuando el empleado pulsa Fichar SALIDA (o cuando indica la hora de salida de un fichaje olvidado). Cerrar el navegador, apagar el móvil o perder la sesión no lo cierra: al volver, reaparece con su cronómetro.
Siguiente paso: Preguntas frecuentes y limitaciones.