RA6 · verificado

RA6 de Implantación de Aplicaciones Web · ASIR

Genera documentos Web con acceso a bases de datos utilizando lenguajes de guiones de servidor.

Comprobar mi dominio con José →

Contenido verificado asociado a este RA

Unidad 1: Ecosistema de Bases de Datos en Entornos Web

Identifica los Sistemas Gestores de Bases de Datos (SGBD) más comunes en aplicaciones web, como MySQL/MariaDB y PostgreSQL, y analiza su arquitectura de integración con lenguajes de servidor como PHP. Se explica el rol de los conectores y extensiones (drivers) y cómo verificar su correcta instalación y configuración en el servidor.

Unidad 2: Conexión Segura y Gestión de Datos (CRUD)

Configura la conexión a un SGBD desde un lenguaje de servidor, gestionando credenciales de forma segura. Se abordan las operaciones CRUD (Crear, Leer, Actualizar, Borrar) para manipular datos y se introducen las consultas preparadas como mecanismo fundamental de seguridad para prevenir la inyección SQL.

Unidad 3: Gestión de Estructuras y Rendimiento

Utiliza el lenguaje de servidor para ejecutar sentencias DDL (Data Definition Language) que permiten crear y modificar la estructura de la base de datos, como tablas y bases de datos. Se analizan técnicas básicas para verificar el funcionamiento y optimizar el rendimiento del sistema, incluyendo la gestión de usuarios y permisos en el SGBD.

Conceptos clave

SGBD Relacional (SQL)SGBD No Relacional (NoSQL)Driver/Extensión de base de datos (ej. PDO, mysqli, pgsql)Stack LAMP/LEMPphpinfo()PDO (PHP Data Objects)DSN (Data Source Name)CRUD (Create, Read, Update, Delete)Inyección SQLConsultas Preparadas (Prepared Statements)Manejo de excepciones (try-catch)DDL (Data Definition Language)DML (Data Manipulation Language)Principio de Mínimo PrivilegioPermisos/Privilegios de SGBD (GRANT, REVOKE)Índices de base de datosOptimización de consultas (Query Performance)Slow Query Log

Errores que conviene evitar

  • {"error":"Intentar usar funciones de un SGBD (ej. `mysqli_connect()`) sin que la extensión correspondiente esté habilitada en el servidor.","causa":"El entorno del servidor PHP no ha sido configurado con todos los módulos necesarios para el proyecto. Es común en despliegues nuevos o al migrar de un hosting a otro con diferente configuración.","correccion":"Verificar la configuración del servidor con `phpinfo()` o `php -m` en la línea de comandos. Instalar la extensión que falta (ej. `php-mysql`) y reiniciar el servicio web."}
  • {"error":"Concatenar variables de usuario directamente en las consultas SQL.","causa":"Desconocimiento del riesgo de inyección SQL o falsa sensación de seguridad por haber 'validado' los datos previamente con otras funciones.","correccion":"Utilizar siempre consultas preparadas con marcadores de posición para cualquier dato que no sea 100% estático y controlado por el programador. Es la única defensa robusta contra la inyección SQL."}
  • {"error":"Almacenar las credenciales de la base de datos en un fichero accesible públicamente desde la web.","causa":"Falta de una estructura de proyecto adecuada. Colocar el fichero de configuración (ej. `config.php`) dentro del directorio raíz del servidor web (`public_html`, `www`).","correccion":"Estructurar el proyecto para que los ficheros con información sensible (credenciales, claves de API) se encuentren fuera del directorio raíz público. El script principal los incluirá usando una ruta del sistema de ficheros (ej. `require '../config/db.php';`)."}
  • {"error":"Utilizar el usuario 'root' del SGBD en el fichero de configuración de la aplicación web.","causa":"Comodidad durante el desarrollo y olvido de cambiarlo para producción. Es un riesgo de seguridad catastrófico.","correccion":"Crear siempre un usuario específico para la aplicación con los mínimos privilegios necesarios. Si la aplicación es comprometida, el atacante tendrá un control limitado sobre la base de datos, previniendo que pueda dañar otras bases de datos en el mismo servidor o escalar privilegios."}
  • {"error":"Una página que lista muchos registros tarda mucho en cargar y consume muchos recursos del servidor.","causa":"Generalmente, se debe a una consulta `SELECT` sobre una tabla grande sin un índice en la columna usada en el `WHERE` o a la falta de paginación, intentando traer miles de filas a la vez.","correccion":"Analizar la consulta con `EXPLAIN` en el SGBD para ver su plan de ejecución. Añadir índices en las columnas de búsqueda. Implementar paginación en la aplicación (usando `LIMIT` y `OFFSET` en la consulta SQL) para mostrar los resultados en bloques manejables (ej. 20 por página)."}

Qué se evalúa en este RA

CE a

Se han identificado los sistemas gestores de bases de datos más utilizados en entornos Web.

CE b

Se ha verificado la integración de los sistemas gestores de bases de datos con el lenguaje de guiones de servidor.

CE c

Se ha configurado en el lenguaje de guiones la conexión para el acceso al sistema gestor de base de datos.

CE d

Se han creado bases de datos y tablas en el gestor utilizando el lenguaje de guiones.

CE e

Se ha obtenido y actualizado la información almacenada en bases de datos.

CE f

Se han aplicado criterios de seguridad en el acceso de los usuarios.

CE g

Se ha verificado el funcionamiento y el rendimiento del sistema.

Canal Estudios es un servicio de Skillback S.L. · NIF B2481724 · Barcelona, España
Aviso legal · Privacidad · Cookies · Términos · Atles de Catalunya