# React Security & Buenas Prácticas (React / Next.js) > Prevención de XSS, protección CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanitización - 22 preguntas de entrevista - Senior - [Preguntas de entrevista: React / Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista.md) ## 1. ¿Qué es un ataque XSS (Cross-Site Scripting)? **Respuesta** Un ataque XSS consiste en inyectar código JavaScript malicioso en una aplicación web para ejecutarlo en el navegador de otros usuarios. El atacante explota fallas de validación o escape para robar cookies, tokens de sesión o realizar acciones no autorizadas. React ofrece protección nativa escapando automáticamente los valores JSX, pero persisten vulnerabilidades con dangerouslySetInnerHTML o la manipulación directa del DOM. ## 2. ¿Cómo protege React contra los ataques XSS por defecto? **Respuesta** React escapa automáticamente todos los valores insertados a través de JSX convirtiéndolos en texto plano antes del renderizado. Esta protección evita la ejecución de scripts maliciosos incluso si se inyecta código HTML en los datos. A diferencia de innerHTML que interpreta y ejecuta HTML, React trata las etiquetas como texto plano, haciendo imposible la inyección de JavaScript malicioso a través de props o state estándar. ## 3. ¿Por qué dangerouslySetInnerHTML se considera peligroso en React? **Respuesta** Esta propiedad evita la protección XSS nativa de React al insertar HTML sin procesar directamente en el DOM sin escape. Si el contenido proviene de una fuente no confiable o de una API externa, puede contener JavaScript malicioso que será ejecutado. El nombre explícito dangerouslySetInnerHTML obliga a los desarrolladores a reconocer conscientemente el riesgo de seguridad e implementar una sanitización adecuada con bibliotecas como DOMPurify. ## 19 preguntas más disponibles - ¿Cuál es la diferencia principal entre un ataque XSS Stored y Reflected? - ¿Qué enfoque debe preferirse para mostrar HTML proveniente de una API externa en React? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista React / Next.js - [Fundamentos de JavaScript](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/javascript-essentials.md): 25 preguntas, Junior - [Fundamentos de React](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-fundamentals.md): 20 preguntas, Junior - [React Hooks](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-hooks.md): 22 preguntas, Junior - [Ciclo de vida de los componentes](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/component-lifecycle.md): 18 preguntas, Junior - [React Router](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-router.md): 20 preguntas, Junior - [Gestión de estado con Context](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/state-management-context.md): 18 preguntas, Junior - [Formularios y Controlled Components](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/forms-controlled-components.md): 20 preguntas, Mid-Level - [Obtención de datos y API](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/fetching-data-api.md): 20 preguntas, Mid-Level - [React Query (TanStack Query)](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-query-tanstack.md): 20 preguntas, Mid-Level - [Styling & CSS-in-JS](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/styling-css-in-js.md): 18 preguntas, Mid-Level - [Fundamentos de Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-fundamentals.md): 25 preguntas, Mid-Level - [TypeScript con React](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/typescript-react.md): 20 preguntas, Mid-Level - [Data Fetching en Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-data-fetching.md): 24 preguntas, Mid-Level - [Server Actions de Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-server-actions.md): 20 preguntas, Mid-Level - [Routing y Navegación en Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-routing-navigation.md): 22 preguntas, Mid-Level - [API Routes de Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-api-routes.md): 20 preguntas, Mid-Level - [Metadata & SEO en Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-metadata-seo.md): 18 preguntas, Mid-Level - [Middleware y Auth en Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-middleware-auth.md): 22 preguntas, Mid-Level - [Testing en React](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-testing.md): 20 preguntas, Mid-Level - [Zustand State Management](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/zustand-state-management.md): 18 preguntas, Mid-Level - [Optimización de Rendimiento en React](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-performance-optimization.md): 22 preguntas, Senior - [Error Boundaries & Error Handling](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-error-boundaries.md): 18 preguntas, Senior - [Advanced React Patterns](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/advanced-react-patterns.md): 20 preguntas, Senior - [Características avanzadas de Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-advanced-features.md): 24 preguntas, Senior - [Despliegue y Producción de Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-deployment-production.md): 20 preguntas, Senior - [Architecture & Design Patterns](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-architecture-patterns.md): 22 preguntas, Senior - [React Server Components](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-server-components.md): 26 preguntas, Senior - [Internacionalización de Next.js](https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/nextjs-internationalization.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/react-next/preguntas-entrevista/react-security-best-practices