A.11 — Validação de entrada & regex (o "como" de não confiar no input)

Validar não é "tirar o que é ruim" (blocklist, sempre furada) — é aceitar só o que é esperado (allowlist) e recusar o resto.

  • Regex (expressão regular): um padrão para descrever um formato válido. Ex.: ^\d{11}$ = exatamente 11 dígitos (um WhatsApp BR); ^[^@\s]+@[^@\s]+\.[^@\s]+$ = a cara de um e-mail.
  • Sempre valide tamanho (um campo "nome" de 10.000 caracteres é suspeito) e tipo.

🔒 Em segurança:

  • Validação vale no servidor — a do navegador é só conforto (o atacante pula, Módulo 0, 0.10).
  • Allowlist > blocklist: liste o permitido, não tente adivinhar todo ataque possível.
  • Cuidado com regex catastrófica (ReDoS): um padrão mal feito trava o servidor com uma entrada específica (seu Ex. 52). Prefira padrões simples e limite o tamanho da entrada antes de aplicar a regex.

entre para marcar esta aula como concluída.

PurpleLab // plataforma de treino ofensivo + defensivo // Fase 1 — portal dinamico