
React Sicurezza & Best Practices
Prevenzione XSS, protezione CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanitizzazione
1Cos'è un attacco XSS (Cross-Site Scripting)?
Cos'è un attacco XSS (Cross-Site Scripting)?
Risposta
Un attacco XSS consiste nell'iniettare codice JavaScript malevolo in un'applicazione web per eseguirlo nel browser di altri utenti. L'attaccante sfrutta falle di validazione o di escaping per rubare cookie, token di sessione o eseguire azioni non autorizzate. React offre protezione nativa escapando automaticamente i valori JSX, ma le vulnerabilità persistono con dangerouslySetInnerHTML o la manipolazione diretta del DOM.
2Come protegge React dagli attacchi XSS per impostazione predefinita?
Come protegge React dagli attacchi XSS per impostazione predefinita?
Risposta
React fa l'escape automatico di tutti i valori inseriti tramite JSX convertendoli in testo semplice prima del rendering. Questa protezione impedisce l'esecuzione di script malevoli anche se codice HTML viene iniettato nei dati. A differenza di innerHTML che interpreta ed esegue HTML, React tratta i tag come testo semplice, rendendo impossibile l'iniezione di JavaScript malevolo tramite props o state standard.
3Perché dangerouslySetInnerHTML è considerato pericoloso in React?
Perché dangerouslySetInnerHTML è considerato pericoloso in React?
Risposta
Questa proprietà aggira la protezione XSS nativa di React inserendo HTML grezzo direttamente nel DOM senza escape. Se il contenuto proviene da una fonte non attendibile o da un'API esterna, può contenere JavaScript malevolo che verrà eseguito. Il nome esplicito dangerouslySetInnerHTML forza gli sviluppatori a riconoscere consapevolmente il rischio di sicurezza e a implementare una sanitizzazione appropriata con librerie come DOMPurify.
Qual è la differenza principale tra un attacco XSS Stored e Reflected?
Quale approccio dovrebbe essere preferito per visualizzare HTML da un'API esterna in React?
+19 domande da colloquio
Altri argomenti di colloquio React / Next.js
Fondamenti di JavaScript
Fondamenti di React
React Hooks
Ciclo di vita dei componenti
React Router
Gestione dello state con Context
Form e Controlled Components
Recupero dati e API
React Query (TanStack Query)
Styling & CSS-in-JS
Fondamentali di Next.js
TypeScript con React
Data Fetching in Next.js
Server Actions di Next.js
Routing e Navigazione in Next.js
API Routes di Next.js
Metadata & SEO in Next.js
Middleware e Auth in Next.js
Testing React
Zustand State Management
Ottimizzazione delle Performance React
Error Boundaries & Error Handling
Advanced React Patterns
Funzionalità avanzate di Next.js
Deploy e Produzione con Next.js
Architecture & Design Patterns
React Server Components
Internazionalizzazione di Next.js
Padroneggia React / Next.js per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis