
React Security & Boas Práticas
Prevenção de XSS, proteção CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanitização
1O que é um ataque XSS (Cross-Site Scripting)?
O que é um ataque XSS (Cross-Site Scripting)?
Resposta
Um ataque XSS consiste em injetar código JavaScript malicioso em uma aplicação web para executá-lo no navegador de outros usuários. O atacante explora falhas de validação ou escape para roubar cookies, tokens de sessão ou realizar ações não autorizadas. React oferece proteção nativa ao escapar automaticamente os valores JSX, mas vulnerabilidades persistem com dangerouslySetInnerHTML ou manipulação direta do DOM.
2Como o React protege contra ataques XSS por padrão?
Como o React protege contra ataques XSS por padrão?
Resposta
React escapa automaticamente todos os valores inseridos via JSX convertendo-os em texto simples antes da renderização. Essa proteção impede a execução de scripts maliciosos mesmo que código HTML seja injetado nos dados. Ao contrário de innerHTML que interpreta e executa HTML, React trata as tags como texto simples, tornando impossível a injeção de JavaScript malicioso por meio de props ou state padrão.
3Por que dangerouslySetInnerHTML é considerado perigoso no React?
Por que dangerouslySetInnerHTML é considerado perigoso no React?
Resposta
Essa propriedade contorna a proteção XSS nativa do React ao inserir HTML bruto diretamente no DOM sem escape. Se o conteúdo vier de uma fonte não confiável ou de uma API externa, pode conter JavaScript malicioso que será executado. O nome explícito dangerouslySetInnerHTML obriga os desenvolvedores a reconhecer conscientemente o risco de segurança e implementar sanitização adequada com bibliotecas como DOMPurify.
Qual é a principal diferença entre um ataque XSS Stored e Reflected?
Qual abordagem deve ser preferida para exibir HTML proveniente de uma API externa no React?
+19 perguntas de entrevista
Outros temas de entrevista React / Next.js
Fundamentos de JavaScript
Fundamentos do React
React Hooks
Ciclo de vida dos componentes
React Router
Gerenciamento de estado com Context
Formulários e Controlled Components
Busca de dados e API
React Query (TanStack Query)
Styling & CSS-in-JS
Fundamentos do Next.js
TypeScript com React
Data Fetching no Next.js
Server Actions do Next.js
Roteamento e Navegação no Next.js
API Routes do Next.js
Metadata & SEO no Next.js
Middleware e Auth no Next.js
Testes em React
Zustand State Management
Otimização de Performance React
Error Boundaries & Error Handling
Advanced React Patterns
Recursos avançados do Next.js
Deploy e Produção com Next.js
Architecture & Design Patterns
React Server Components
Internacionalização do Next.js
Domine React / Next.js para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis