Migración de sistemas web de PHP 7 a PHP 8 y diseño de nuevas funcionalidades y mantenimiento
Openalex
Resumen
En este trabajo se va a aplicar una serie de operaciones a los siguientes sistemas de la Universidad Politécnica de Madrid: páginas web de las asignaturas de Procesadores de Lenguajes y Traductores de Lenguajes; las páginas web del Máster Universitario en Software y Sistemas y del Doctorado en Software, Sistemas y Computación; los módulos de gestión de seminarios del Máster Universitario en Ingeniería del Software y del Máster Universitario en Ciencia de Datos; el sistema de gamificación Draco (Dinámica del Refuerzo al Aprendizaje de Compiladores) que se utiliza por parte del alumnado para repasar las asignaturas de Procesadores de Lenguajes y Traductores de Lenguajes; y un módulo de administración global que se utiliza para gestionar todo lo relacionado con los sistemas anteriores. Las operaciones realizadas se resumen en: aplicación de una migración del lenguaje de programación PHP 7.2 a la última versión de PHP, la 8.5; una migración de la versión del sistema gestor de bases de datos MySQL 5.6 a la última versión de MySQL, la 8.4; la identificación, detección y resolución de vulnerabilidades que se puedan encontrar dentro de estos sistemas; y el diseño, implementación y pruebas de nuevas funcionalidades para el sistema Draco. La migración entre las dos versiones de PHP anteriormente descritas se basa sobre todo en la migración de código que ya no se soporta en la última versión de PHP a alternativas más modernas que sí se soportan en esta versión. También se migraría código que se considera obsoleto y que va a ser eliminado en una versión futura del lenguaje. La migración entre las dos versiones de MySQL seguiría un enfoque muy similar a la de la migración de PHP, sólo que, además, es necesario comprobar que la configuración del servidor se mantiene actualizada y que dicha configuración no se rompe al actualizar entre las dos versiones del sistema gestor de bases de datos. Para la parte de seguridad, se van a identificar, detectar y resolver una serie de vulnerabilidades de seguridad comunes en sistemas web basados en PHP, MySQL y CSS: inyecciones SQL, XSS (Cross-Site Scripting), inyección de código PHP, errores de lógica de negocio, divulgación de información, control de acceso incorrecto, lectura de archivos locales y CSRF (Cross-Site Request Forgery). Para la parte de las nuevas funcionalidades, se añade un módulo que permite la gestión y visualización de fondos para una serie de páginas dentro del sistema Draco, con el objetivo de hacer este sistema de gamificación más amigable y cercano para los alumnos que lo utilizan. Este módulo contribuye a mejorar la experiencia de usuario de los alumnos. Además, se van a realizar una serie de tareas de mantenimiento en algunos de los sistemas. Para los sitios web de Procesadores de Lenguajes y Traductores de lenguajes el objetivo es solucionar algunos errores que existen en el código, además de añadir otras tareas de mantenimiento para Draco. Los cambios que se harán durante este Trabajo de Fin de Grado se traducirán en mayor protección para los alumnos y profesores que utilizan todos estos sistemas que se han enumerado anteriormente. El número de usuarios se encuentra en la cifra de los cientos de alumnos y una decena de profesores. Además, al ejecutar la migración, se añade más longevidad a los sistemas sobre los que se ha estado trabajando y se simplifica el que estos sistemas estén más tiempo activos, dando servicio tanto a alumnos como profesores. ABSTRACT In this Final Degree Project, a series of operations will be applied to the following systems found within the Universidad Politécnica de Madrid: the web pages for the Procesadores de Lenguajes and Traductores de Lenguajes subjects, the web pages for the Master in Software and Systems and the PhD in Software, Systems and Computing, the seminar management modules used in the European Master in Software Engineering and for the Data Science Master, the Draco (from Spanish: Dinámica del Refuerzo al Aprendizaje de Compiladores) gamification system, which is used by the students of Procesadores de Lenguajes and Traductores de Lenguajes in order to revise the subject, and finally, a global administration module which is used to manage everything related to the previous systems. The operations that will be applied can be resumed in: applying a migration from the programming language PHP’s older and obsolete version 7.2 to the newest version of PHP, the 8.5 version; migrating from the obsolete version 5.6 of the relational database management system MySQL to the latest version, 8.4; identification, detection and resolution of common security vulnerabilities which can be found inside all these systems that have been previously enumerated; and the design, implementation and testing for new functionalities that will be added to the Draco system. The migration between those two versions of PHP is mostly based on the migration of deprecated code and code which is not supported in the latest version of PHP to more modern alternatives which are now supported. To migrate between the two described versions of MySQL, the methodology used would be very similar to the one described above. However, it is imperative to check that the server configuration is kept updated and that this configuration does not break after updating to the latest version of the relational database management system. For the security aspect of this Project, common security vulnerabilities found in web applications built on PHP will be identified, detected and removed. The vulnerabilities that will be handled in this Project are as follow: SQL injections, XSS (Cross-Site Scripting), PHP code injection, business logic errors, disclosure of information, incorrect access control, local file read and CSRF (Cross-Site Request Forgery). The proposed functionality that will be added to the Draco system is a module which allows visualisation and management of a series of background images within Draco. The objective is to make this system friendlier and closer to the user to improve the user experience of the students which use this gamification system. Moreover, some maintenance tasks will be undertaken in some of the systems. The objective is to solve some errors found in the Procesadores de Lenguajes and Traductores de Lenguajes web sites and to add more maintenance tasks to the Draco system. All the changes made during this Final Degree Project will add more protection for the students and professors which use all these previously enumerated systems. The number of users in these systems are hundreds of students and around ten professors. Furthermore, when executing the migration described above, the systems which have been worked on in this Project will have more longevity and, in the long run, it will be easier to keep them running for longer periods of time while giving service to both students and professors.
Cómo citar
Pablo Rodríguez Pérez (2026). Migración de sistemas web de PHP 7 a PHP 8 y diseño de nuevas funcionalidades y mantenimiento.