React Native

Best Practice di Sicurezza

Archiviazione sicura, SSL pinning, offuscamento, protezione dal reverse engineering, dati sensibili

20 domande da colloquio·
Senior
1

Qual è il metodo consigliato per archiviare dati sensibili come i token di autenticazione in un'applicazione React Native?

Risposta

I dati sensibili come i token di autenticazione devono essere archiviati nel Keychain (iOS) o nel Keystore (Android) utilizzando librerie come react-native-keychain o expo-secure-store. Questi sistemi offrono crittografia basata su hardware e protezione contro l'estrazione dei dati anche su dispositivi con root. AsyncStorage archivia i dati in testo normale e non dovrebbe mai essere usato per informazioni sensibili.

2

Che cos'è l'SSL pinning e perché dovrebbe essere implementato in un'applicazione React Native?

Risposta

L'SSL pinning consiste nel validare il certificato del server rispetto a un certificato o una chiave pubblica nota e incorporata nell'applicazione, anziché fidarsi solo della catena di certificazione del sistema. Questo protegge dagli attacchi man-in-the-middle anche se un attaccante ha installato un certificato dannoso sul dispositivo. Librerie come react-native-ssl-pinning o TrustKit consentono di implementare questa protezione.

3

Come proteggere il codice JavaScript in un'applicazione React Native dal reverse engineering?

Risposta

L'offuscamento del codice JavaScript con strumenti come Metro bundler, react-native-obfuscating-transformer o Hermes bytecode rende il codice più difficile da comprendere. Hermes compila JavaScript in bytecode, aggiungendo un livello di protezione. Tuttavia, l'offuscamento non è una protezione assoluta - rallenta gli attaccanti ma non può impedire completamente il reverse engineering. I segreti critici non dovrebbero mai essere archiviati nel codice client.

4

Come gestire le chiavi API e i segreti in un'applicazione React Native in produzione?

5

Cos'è il rilevamento di root/jailbreak e come implementarlo in React Native?

+17 domande da colloquio

Padroneggia React Native per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis