# React Security & Boas Práticas (React / Next.js) > Prevenção de XSS, proteção CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanitização - 22 perguntas de entrevista - Senior - [Perguntas de entrevista: React / Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista.md) ## 1. 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. ## 2. 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. ## 3. 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. ## Mais 19 perguntas disponiveis - 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? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista React / Next.js - [Fundamentos de JavaScript](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/javascript-essentials.md): 25 perguntas, Junior - [Fundamentos do React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-fundamentals.md): 20 perguntas, Junior - [React Hooks](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-hooks.md): 22 perguntas, Junior - [Ciclo de vida dos componentes](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/component-lifecycle.md): 18 perguntas, Junior - [React Router](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-router.md): 20 perguntas, Junior - [Gerenciamento de estado com Context](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/state-management-context.md): 18 perguntas, Junior - [Formulários e Controlled Components](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/forms-controlled-components.md): 20 perguntas, Mid-Level - [Busca de dados e API](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/fetching-data-api.md): 20 perguntas, Mid-Level - [React Query (TanStack Query)](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-query-tanstack.md): 20 perguntas, Mid-Level - [Styling & CSS-in-JS](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/styling-css-in-js.md): 18 perguntas, Mid-Level - [Fundamentos do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-fundamentals.md): 25 perguntas, Mid-Level - [TypeScript com React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/typescript-react.md): 20 perguntas, Mid-Level - [Data Fetching no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-data-fetching.md): 24 perguntas, Mid-Level - [Server Actions do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-server-actions.md): 20 perguntas, Mid-Level - [Roteamento e Navegação no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-routing-navigation.md): 22 perguntas, Mid-Level - [API Routes do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-api-routes.md): 20 perguntas, Mid-Level - [Metadata & SEO no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-metadata-seo.md): 18 perguntas, Mid-Level - [Middleware e Auth no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-middleware-auth.md): 22 perguntas, Mid-Level - [Testes em React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-testing.md): 20 perguntas, Mid-Level - [Zustand State Management](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/zustand-state-management.md): 18 perguntas, Mid-Level - [Otimização de Performance React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-performance-optimization.md): 22 perguntas, Senior - [Error Boundaries & Error Handling](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-error-boundaries.md): 18 perguntas, Senior - [Advanced React Patterns](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/advanced-react-patterns.md): 20 perguntas, Senior - [Recursos avançados do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-advanced-features.md): 24 perguntas, Senior - [Deploy e Produção com Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-deployment-production.md): 20 perguntas, Senior - [Architecture & Design Patterns](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-architecture-patterns.md): 22 perguntas, Senior - [React Server Components](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-server-components.md): 26 perguntas, Senior - [Internacionalização do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-internationalization.md): 20 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-security-best-practices