Skip to content

v2.8.0 — Arreglos de seguridad y ventanas de alta legibles

Latest

Choose a tag to compare

@Dsantycam Dsantycam released this 07 Sep 19:17

Seguridad — actualiza antes de dar acceso a clientes

Auditoría completa del plugin antes de abrirlo a clientes. Tres cosas corregidas:

1. Aislamiento entre clientes. La consulta que rellena los formatos devolvía la ficha completa de cualquier máquina a cualquier usuario con sesión iniciada. Un cliente de una empresa podía leer las máquinas de otra escribiendo su código, saltándose el aislamiento que sí respetan el portal y el panel del técnico. Ahora los datos internos —notas, horómetro, fechas— solo salen si el usuario tiene acceso a esa máquina; el resto recibe únicamente lo necesario para rellenar el formulario.

2. Enumeración desde el formulario público. El formato es público por diseño, pero los códigos son predecibles (APC BOG TY No. 001, 002…) y se podía recorrer la flota entera con sus contactos. Se limita a 40 consultas por IP cada 10 minutos.

3. Salida de directorio al anexar archivos. El código de máquina se puede editar a mano y entraba tal cual en la ruta de subida, así que uno que contuviera ../ escribía fuera de la carpeta de subidas. Ahora se reduce a un nombre de carpeta seguro.

Revisado sin hallazgos: los 38 puntos de entrada del plugin comprueban permisos y token de seguridad; ninguna consulta a la base de datos monta datos del usuario sin parametrizar; no hay contenido que salga a la página sin escapar; los mensajes que viajan por la URL se escapan.

Las ventanas de «Agregar» ya se ven bien

Se veían desordenadas por un motivo concreto, no estético: la ventana se cuelga fuera del contenedor del plugin, y todo el estilo de los formularios cuelga de ese contenedor. Los campos salían con el estilo por defecto del navegador.

Además: la cabecera se queda fija y solo se desplaza el contenido, así que en el alta de máquina ya no se pierde el título al bajar; dos columnas cómodas en vez de cuatro apretadas; y los botones se quedan a la vista al pie, sin ocupar el ancho entero.

Compatibilidad declarada

El plugin ya declara que necesita WordPress 6.4 y PHP 7.4, los mismos mínimos que pide Forminator 1.57.

Pruebas

650 comprobaciones automáticas en verde, incluidas pruebas nuevas que verifican de punta a punta que un cliente no puede leer las máquinas de otra empresa, y que un código con ../ no saca los archivos de su carpeta.