React Native

Security Best Practices

Secure storage, SSL pinning, obfuscation, reverse engineering protection, sensitive data

20 questions d'entretien·
Senior
1

Quelle est la méthode recommandée pour stocker des données sensibles comme des tokens d'authentification dans une application React Native ?

Réponse

Les données sensibles comme les tokens d'authentification doivent être stockées dans le Keychain (iOS) ou le Keystore (Android) via des bibliothèques comme react-native-keychain ou expo-secure-store. Ces systèmes offrent un chiffrement matériel et une protection contre l'extraction des données même sur des appareils rootés. AsyncStorage stocke les données en clair et ne doit jamais être utilisé pour des informations sensibles.

2

Qu'est-ce que le SSL pinning et pourquoi l'implémenter dans une application React Native ?

Réponse

Le SSL pinning consiste à valider le certificat du serveur contre un certificat ou une clé publique connu(e) intégré(e) dans l'application, plutôt que de faire confiance uniquement à la chaîne de certification système. Cela protège contre les attaques man-in-the-middle même si un attaquant a installé un certificat malveillant sur l'appareil. Des bibliothèques comme react-native-ssl-pinning ou TrustKit permettent d'implémenter cette protection.

3

Comment protéger le code JavaScript d'une application React Native contre le reverse engineering ?

Réponse

L'obfuscation du code JavaScript avec des outils comme Metro bundler, react-native-obfuscating-transformer ou Hermes bytecode rend le code plus difficile à comprendre. Hermes compile le JavaScript en bytecode, ajoutant une couche de protection. Cependant, l'obfuscation n'est pas une protection absolue - elle ralentit les attaquants mais ne peut pas empêcher totalement le reverse engineering. Les secrets critiques ne doivent jamais être stockés dans le code client.

4

Comment gérer les clés API et secrets dans une application React Native en production ?

5

Qu'est-ce que la détection de root/jailbreak et comment l'implémenter dans React Native ?

+17 questions d'entretien

Maîtrise React Native pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement