Repaso
English
SeguridadIntermedioSEC-19

Para validar entradas, ¿qué enfoque es más seguro?

Opciones

  1. Denylist: bloquear solo los caracteres malos conocidos
  2. Allowlist: definir la entrada válida y rechazar el resto (Opción correcta)
  3. No hace falta validar si HTTPS está activado
  4. Validar solo en el cliente, en el navegador

Respuesta

Allowlist: define cómo es una entrada válida (tipo, longitud, formato) y rechaza todo lo demás

Por qué

Una denylist intenta bloquear lo malo, pero los atacantes siempre encuentran variantes (otras codificaciones, trucos nuevos).

Una allowlist describe exactamente lo aceptable, por ejemplo 'un entero positivo menor que 1000' o 'uno de: small, medium, large', y rechaza todo lo demás.

La validación en el cliente solo mejora la experiencia de usuario; el servidor siempre debe validar (Pydantic lo hace en FastAPI).

Recuerda

Permite solo lo válido; valida en el servidor.

Términos clave

Practica esta pregunta en Repaso