Validação de entrada e fundamentos de escape
Valide e normalize entradas com pequenas listas de permissões e guardas; faça escape dos caracteres arriscados antes de exibir o texto
Validação de entrada e fundamentos de escape é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.
Visão geral
Objetivo: tornar as entradas previsíveis e seguras.
- Use cláusulas de proteção para rejeitar entradas logo no início
- Prefira listas de permissão a regras vagas
- Normalize para um formato simples
- Escape caracteres especiais antes de exibir texto

Noções básicas de proteção de números
Adicione proteções simples: verifique o tipo, verifique o intervalo e normalize para um valor final.
// Validate age: number and range guard
function parseAge(input) {
// trim and parse
const n = Number(input);
if (!Number.isFinite(n)) return null; // reject non-numbers
if (n < 0 || n > 130) return null; // reject out-of-range
return Math.floor(n); // normalize to integer
}
console.log("age ok:", parseAge("21"));
console.log("age bad:", parseAge("twenty"));

Escape para exibição segura
Antes de exibir o texto do usuário, converta os caracteres especiais para que a interface o trate como texto simples.
// Escape a few risky characters before displaying in HTML contexts
function escapeText(s) {
if (typeof s !== "string") return "";
return s
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll("\"", """)
.replaceAll("'", "'");
}
console.log("escaped:", escapeText("<b>Hello & bye</b>"));

Listas de permissão na prática
Prefira listas de permissão para conjuntos fixos, como códigos ou funções. Normalize maiúsculas, minúsculas e espaços.
// Allowlist example: only certain country codes
const ALLOWED = new Set(["TR", "US", "DE", "GB"]);
function parseCountry(code) {
if (typeof code !== "string") return null;
const up = code.trim().toUpperCase();
if (!ALLOWED.has(up)) return null; // reject unknown
return up; // normalized
}
console.log("country ok:", parseCountry("tr"));
console.log("country bad:", parseCountry("xx"));

Validador de objeto pequeno
Verifique o tipo e os limites, depois retorne uma estrutura normalizada em que o restante do código possa confiar.
// Validate a tiny user object and normalize
function validateUser(input) {
if (typeof input !== "object" || input === null) return null;
const nameOk = typeof input.name === "string" && input.name.trim().length >= 1 && input.name.trim().length <= 40;
const ageOk = parseAge(input.age) !== null;
if (!nameOk || !ageOk) return null;
return {
name: input.name.trim(),
age: parseAge(input.age)
};
}
console.log("user ok:", validateUser({ name: " Ayla ", age: "22" }));
console.log("user bad:", validateUser({ name: "", age: "old" }));

Bons hábitos de defesa
Dicas:
- Valide nas bordas, como entrada do usuário e rede.
- Use listas de permissão, intervalos e verificações de tipo.
- Normalize uma vez; mantenha o restante simples.
- Converta o texto antes de exibi-lo aos usuários.

Questionário sobre fundamentos da entrada defensiva
Verificação rápida: padrão de entrada segura.

Recapitulação
Recapitulação: Proteja logo no início, use listas de permissão, normalize para uma estrutura segura e converta o texto antes da exibição. Mantenha cada etapa pequena e legível.

Perguntas Frequentes
A aula “Validação de entrada e fundamentos de escape” é grátis?
Sim — o texto completo de “Validação de entrada e fundamentos de escape” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.
O que vou aprender em “Validação de entrada e fundamentos de escape”?
Valide e normalize entradas com pequenas listas de permissões e guardas; faça escape dos caracteres arriscados antes de exibir o texto Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar JavaScript Academy?
Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “Validação de entrada e fundamentos de escape”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de JavaScript Academy?
Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Validação de entrada e fundamentos de escape
- Mesclagem segura de objetos; congelamento e selagem
- Limites de erro (conceituais) sem estruturas de trabalho