🔒
Avanzado
6 min lecturaSeguridad Web
XSS, CSRF, autenticación y mejores prácticas de seguridad
Preguntas de Entrevista sobre Seguridad Web
Domina conceptos y mejores prácticas de seguridad para aplicaciones web.
1. Cross-Site Scripting (XSS)
// Código vulnerable
element.innerHTML = userInput; // ❌ Peligroso
// Alternativas seguras
element.textContent = userInput; // ✅ Escapa HTML
element.innerText = userInput; // ✅ Escapa HTML
// React escapa automáticamente
return <div>{userInput}</div>; // ✅ Seguro
// DOMPurify para sanitización
import DOMPurify from 'dompurify';
const limpio = DOMPurify.sanitize(dirtyHTML);
2. Cross-Site Request Forgery (CSRF)
// Token CSRF en formularios
<form method="POST" action="/api/transferir">
<input type="hidden" name="csrf_token" value="{token}">
<!-- campos del formulario -->
</form>
// Cookies SameSite
Set-Cookie: session=abc123; SameSite=Strict; Secure; HttpOnly
3. Autenticación y Autorización
// Autenticación JWT
const token = localStorage.getItem('token');
fetch('/api/datos', {
headers: {
'Authorization': `Bearer ${token}`
}
});
// OAuth 2.0 Flow
// 1. Redirigir al proveedor OAuth
// 2. Usuario autoriza
// 3. Recibir código de autorización
// 4. Intercambiar por access token
// 5. Usar token para peticiones API
Mejores Prácticas de Seguridad
- ✓ Nunca confíes en input del usuario - siempre sanitiza
- ✓ Usa HTTPS para todas las apps de producción
- ✓ Implementa protección CSRF
- ✓ Almacena tokens de forma segura (cookies HttpOnly)
- ✓ Valida y sanitiza en cliente y servidor
- ✓ Usa Content Security Policy (CSP)