RA4 · verificado

RA4 de Desarrollo Web en Entorno Servidor · DAW

Desarrolla aplicaciones Web embebidas en lenguajes de marcas analizando e incorporando funcionalidades según especificaciones.

Comprobar mi dominio con José →

Contenido verificado asociado a este RA

Gestión del Estado en Aplicaciones Web: Fundamentos y Mecanismos

Esta unidad explora los desafíos de la naturaleza sin estado del protocolo HTTP y presenta los principales mecanismos para mantener la información de un cliente web a lo largo de múltiples solicitudes, analizando sus ventajas y casos de uso.

Implementación de Sesiones y Cookies para la Persistencia de Datos

Esta unidad detalla la implementación práctica de sesiones y cookies en aplicaciones web, cubriendo cómo almacenar y recuperar información tanto en el servidor como en el cliente, y cómo gestionar su ciclo de vida.

Autenticación de Usuarios: Mecanismos y Seguridad

Esta unidad aborda los diferentes mecanismos de autenticación de usuarios en aplicaciones web, caracterizando sus principios de funcionamiento, ventajas y desventajas, y sentando las bases para una implementación segura.

Implementación de Sistemas de Autenticación y Adaptación de Aplicaciones Existentes

Esta unidad se centra en la implementación práctica de sistemas de autenticación basados en formularios y en la adaptación de aplicaciones web existentes, como CMS, para integrar nuevas funcionalidades o modificar las existentes.

Herramientas y Entornos para el Desarrollo, Prueba y Depuración Web

Esta unidad cubre las herramientas y entornos esenciales que facilitan el ciclo de vida del desarrollo web, desde la codificación hasta la depuración y el control de calidad, optimizando la productividad del desarrollador.

Conceptos clave

HTTP StatelessEstado de la aplicaciónCookiesSesionesWeb StorageQuery StringHidden Fieldssession_start()$_SESSIONsession_destroy()setcookie()$_COOKIEHTTP-onlyExpiración de cookiesAutenticaciónAutorizaciónForm-based AuthenticationBasic Auth

Errores que conviene evitar

  • Almacenar datos sensibles directamente en cookies o Local Storage sin cifrar o validar en el servidor: Causa una vulnerabilidad de seguridad al exponer información confidencial al cliente. Corrección: Utilizar sesiones para datos sensibles, o cifrar y firmar los datos en el cliente, validando siempre en el servidor.
  • Confundir la persistencia de Session Storage con la de Local Storage: Session Storage se borra al cerrar la pestaña/navegador, Local Storage persiste. Causa un comportamiento inesperado de la aplicación. Corrección: Entender la diferencia y elegir el mecanismo adecuado según la necesidad de persistencia.
  • Llamar a `session_start()` o `setcookie()` después de enviar contenido al navegador: Causa un error 'Headers already sent'. Corrección: Asegurar que estas llamadas se realicen al inicio del script, antes de cualquier salida HTML o `echo`.
  • No establecer la bandera `httponly` en cookies de sesión o autenticación: Permite que scripts maliciosos (XSS) accedan a la cookie, comprometiendo la sesión. Corrección: Siempre usar `httponly` para cookies que no necesitan ser leídas por JavaScript.
  • Almacenar contraseñas en texto plano o con hashes débiles (ej. MD5): Causa una vulnerabilidad crítica si la base de datos es comprometida. Corrección: Usar funciones de hash criptográficamente seguras como `password_hash()` con `PASSWORD_BCRYPT` o `PASSWORD_ARGON2ID`.
  • No usar HTTPS para el formulario de login: Permite que un atacante intercepte las credenciales en texto plano. Corrección: Asegurar que toda la comunicación de autenticación se realice sobre HTTPS.
  • No regenerar el ID de sesión después de un login exitoso: Causa una vulnerabilidad de fijación de sesión, donde un atacante puede preestablecer un ID de sesión y luego usarlo para secuestrar la sesión del usuario legítimo. Corrección: Llamar a `session_regenerate_id(true);` después de la autenticación exitosa.
  • Modificar directamente el código fuente de un CMS o framework: Causa problemas graves al actualizar la aplicación, ya que los cambios se perderán o generarán conflictos. Corrección: Utilizar siempre los mecanismos de extensión (plugins, temas, hooks) proporcionados por la aplicación.

Qué se evalúa en este RA

CE a

Se han identificado los mecanismos disponibles para el mantenimiento de la información que concierne a un cliente web concreto y se han señalado sus ventajas.

CE b

Se han utilizado sesiones para mantener el estado de las aplicaciones Web.

CE c

Se han utilizado “cookies” para almacenar información en el cliente Web y para recuperar su contenido.

CE d

Se han identificado y caracterizado los mecanismos disponibles para la autentificación de usuarios.

CE e

Se han escrito aplicaciones que integren mecanismos de autentificación de usuarios.

CE f

Se han realizado adaptaciones a aplicaciones Web existentes como gestores de contenidos u otras.

CE g

Se han utilizado herramientas y entornos para facilitar la programación, prueba y depuración del código.

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