Security Best Practices
Secure storage, SSL pinning, obfuscation, reverse engineering protection, sensitive data
1Quelle est la méthode recommandée pour stocker des données sensibles comme des tokens d'authentification dans une application React Native ?
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.
2Qu'est-ce que le SSL pinning et pourquoi l'implémenter dans une application React Native ?
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.
3Comment protéger le code JavaScript d'une application React Native contre le reverse engineering ?
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.
Comment gérer les clés API et secrets dans une application React Native en production ?
Qu'est-ce que la détection de root/jailbreak et comment l'implémenter dans React Native ?
+17 questions d'entretien
Autres sujets d'entretien React Native
Les bases de JavaScript
Fondamentaux React
Bases de React Native
React Hooks
TypeScript pour React & React Native
Composants & API React Native
Styling & Layout React Native
Navigation React Native
State Management React Native
Networking & API React Native
Persistance des données
Forms & Validation
Animations React Native
Native Modules & Bridge
Code spécifique aux plateformes
Permissions & Device APIs
Push Notifications
Testing React Native
Debugging React Native
Build & Deployment
Expo vs React Native Bare
Performance Optimization
Memory Management
Architecture Patterns
New Architecture React Native
Offline-First Architecture
CI/CD React Native
Monorepo & Code Sharing
Advanced Topics
App Lifecycle & Background Execution
Authentication & Session Management
Monitoring & Crash Reporting
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