Desarrollador Full-stack: pregunta de entrevista
¿Cómo proteges una aplicación full-stack?
Protege cada límite: valida entradas, autentica de forma segura, autoriza en servidor, protege sesiones y CSRF, codifica salidas, parametriza consultas, gestiona secretos fuera del código y actualiza dependencias según amenazas.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
La seguridad se aplica en cada frontera porque cada una se ataca de forma distinta. En el navegador: escapar la salida para frenar XSS, definir una content security policy, usar cookies HttpOnly y SameSite, y proteger de CSRF las solicitudes que cambian estado. En la API: validar cada entrada contra un esquema, autenticar con bibliotecas probadas, autorizar por recurso en el servidor, limitar la tasa y acotar el tamaño de los payloads. En la capa de datos: consultas parametrizadas, roles de base de datos con mínimo privilegio y cifrado de columnas sensibles. Los secretos viven en un vault y nunca en el repositorio, las dependencias se escanean y actualizan, y un modelo de amenazas decide qué riesgos restantes importan más.
Ejemplo
Una funcionalidad de comentarios renderiza el texto del usuario con el escapado del framework y una CSP que bloquea scripts inline, el endpoint POST valida longitud y tipo con un esquema y comprueba que el usuario puede comentar en ese hilo, la consulta usa parámetros vinculados y la cookie de sesión es HttpOnly, Secure y SameSite=Lax. Una alerta de dependencia del parser de markdown se parchea la misma semana porque el modelo de amenazas califica el contenido de usuario renderizado como alta exposición.
Errores frecuentes
- Confiar en la validación del frontend y omitirla en el servidor.
- Construir SQL con cadenas a partir de parámetros de la solicitud.
- Subir una clave de API al repositorio y rotarla solo después de una filtración.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.