Najlepsze praktyki bezpieczeństwa
Bezpieczne przechowywanie, SSL pinning, obfuskacja, ochrona przed reverse engineering, dane wrażliwe
1Jaka jest zalecana metoda przechowywania wrażliwych danych, takich jak tokeny uwierzytelniania, w aplikacji React Native?
Jaka jest zalecana metoda przechowywania wrażliwych danych, takich jak tokeny uwierzytelniania, w aplikacji React Native?
Odpowiedź
Wrażliwe dane, takie jak tokeny uwierzytelniania, muszą być przechowywane w Keychain (iOS) lub Keystore (Android) przy użyciu bibliotek takich jak react-native-keychain lub expo-secure-store. Systemy te zapewniają szyfrowanie wspierane sprzętowo i ochronę przed wydobyciem danych nawet na urządzeniach z rootem. AsyncStorage przechowuje dane jako zwykły tekst i nigdy nie powinien być używany do wrażliwych informacji.
2Czym jest SSL pinning i dlaczego należy go wdrożyć w aplikacji React Native?
Czym jest SSL pinning i dlaczego należy go wdrożyć w aplikacji React Native?
Odpowiedź
SSL pinning weryfikuje certyfikat serwera względem znanego certyfikatu lub klucza publicznego osadzonego w aplikacji, zamiast ufać wyłącznie systemowemu łańcuchowi certyfikatów. Chroni to przed atakami man-in-the-middle, nawet jeśli atakujący zainstalował złośliwy certyfikat na urządzeniu. Biblioteki takie jak react-native-ssl-pinning lub TrustKit umożliwiają wdrożenie tej ochrony.
3Jak chronić kod JavaScript w aplikacji React Native przed reverse engineering?
Jak chronić kod JavaScript w aplikacji React Native przed reverse engineering?
Odpowiedź
Obfuskacja kodu JavaScript za pomocą narzędzi takich jak Metro bundler, react-native-obfuscating-transformer lub Hermes bytecode utrudnia zrozumienie kodu. Hermes kompiluje JavaScript do bytecode, dodając warstwę ochrony. Jednak obfuskacja nie jest absolutną ochroną - spowalnia atakujących, ale nie może całkowicie zapobiec reverse engineering. Krytyczne sekrety nigdy nie powinny być przechowywane w kodzie klienta.
Jak zarządzać kluczami API i sekretami w produkcyjnej aplikacji React Native?
Czym jest wykrywanie root/jailbreak i jak je wdrożyć w React Native?
+17 pytań z rozmów
Inne tematy rekrutacyjne React Native
Podstawy JavaScript
Podstawy React
Podstawy React Native
React Hooks
TypeScript dla React i React Native
Komponenty i API React Native
Stylowanie i układ w React Native
Nawigacja w React Native
Zarządzanie stanem w React Native
Networking i API w React Native
Trwałość danych
Formularze i walidacja
Animacje React Native
Native Modules & Bridge
Kod specyficzny dla platformy
Uprawnienia i interfejsy API urządzenia
Push Notifications
Testowanie React Native
Debugowanie React Native
Build & Deployment
Expo vs React Native Bare
Optymalizacja wydajności
Zarządzanie pamięcią
Architecture Patterns
New Architecture w React Native
Offline-First Architecture
CI/CD React Native
Monorepo i współdzielenie kodu
Zaawansowane tematy
Cykl życia aplikacji i wykonywanie w tle
Uwierzytelnianie i zarządzanie sesją
Monitoring & Crash Reporting
Opanuj React Native na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo