แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย
การจัดเก็บที่ปลอดภัย, SSL pinning, การทำ obfuscation, การป้องกัน reverse engineering, ข้อมูลที่ละเอียดอ่อน
1วิธีที่แนะนำในการจัดเก็บข้อมูลที่ละเอียดอ่อน เช่น โทเค็นการยืนยันตัวตน ในแอปพลิเคชัน React Native คืออะไร?
วิธีที่แนะนำในการจัดเก็บข้อมูลที่ละเอียดอ่อน เช่น โทเค็นการยืนยันตัวตน ในแอปพลิเคชัน React Native คืออะไร?
คำตอบ
ข้อมูลที่ละเอียดอ่อนเช่นโทเค็นการยืนยันตัวตนต้องถูกจัดเก็บใน Keychain (iOS) หรือ Keystore (Android) โดยใช้ไลบรารีเช่น react-native-keychain หรือ expo-secure-store ระบบเหล่านี้ให้การเข้ารหัสที่อิงฮาร์ดแวร์และการป้องกันการดึงข้อมูลแม้บนอุปกรณ์ที่ root แล้ว AsyncStorage จัดเก็บข้อมูลเป็นข้อความธรรมดาและไม่ควรใช้กับข้อมูลที่ละเอียดอ่อนเลย
2SSL pinning คืออะไรและทำไมจึงควรนำมาใช้ในแอปพลิเคชัน React Native?
SSL pinning คืออะไรและทำไมจึงควรนำมาใช้ในแอปพลิเคชัน React Native?
คำตอบ
SSL pinning ตรวจสอบใบรับรองของเซิร์ฟเวอร์เทียบกับใบรับรองหรือคีย์สาธารณะที่รู้จักซึ่งฝังอยู่ในแอปพลิเคชัน แทนที่จะเชื่อถือเฉพาะ certificate chain ของระบบเท่านั้น สิ่งนี้ช่วยป้องกันการโจมตีแบบ man-in-the-middle แม้ว่าผู้โจมตีจะติดตั้งใบรับรองที่เป็นอันตรายบนอุปกรณ์แล้วก็ตาม ไลบรารีเช่น react-native-ssl-pinning หรือ TrustKit ช่วยให้สามารถนำการป้องกันนี้มาใช้ได้
3จะปกป้องโค้ด JavaScript ในแอปพลิเคชัน React Native จาก reverse engineering ได้อย่างไร?
จะปกป้องโค้ด JavaScript ในแอปพลิเคชัน React Native จาก reverse engineering ได้อย่างไร?
คำตอบ
การทำ obfuscation โค้ด JavaScript ด้วยเครื่องมือเช่น Metro bundler, react-native-obfuscating-transformer หรือ Hermes bytecode ทำให้โค้ดเข้าใจได้ยากขึ้น Hermes คอมไพล์ JavaScript เป็น bytecode เพิ่มชั้นการป้องกัน อย่างไรก็ตาม obfuscation ไม่ใช่การป้องกันที่สมบูรณ์ - มันทำให้ผู้โจมตีช้าลงแต่ไม่สามารถป้องกัน reverse engineering ได้อย่างสมบูรณ์ ไม่ควรจัดเก็บ secret ที่สำคัญไว้ในโค้ดฝั่งไคลเอนต์เลย
จะจัดการ API key และ secret ในแอปพลิเคชัน React Native บน production ได้อย่างไร?
การตรวจจับ root/jailbreak คืออะไรและจะนำมาใช้ใน React Native ได้อย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ React Native อื่นๆ
พื้นฐาน JavaScript
พื้นฐาน React
พื้นฐาน React Native
React Hooks
TypeScript สำหรับ React และ React Native
คอมโพเนนต์และ API ของ React Native
การจัดสไตล์และเลย์เอาต์ใน React Native
การนำทางใน React Native
การจัดการ State ใน React Native
Networking และ API ใน React Native
การคงอยู่ของข้อมูล
ฟอร์มและการตรวจสอบความถูกต้อง
แอนิเมชัน React Native
Native Modules & Bridge
โค้ดเฉพาะแพลตฟอร์ม
สิทธิ์และ Device API
Push Notifications
การทดสอบ React Native
การ Debug React Native
Build & Deployment
Expo vs React Native Bare
การเพิ่มประสิทธิภาพ
การจัดการหน่วยความจำ
Architecture Patterns
React Native New Architecture
Offline-First Architecture
CI/CD React Native
Monorepo และการแชร์โค้ด
หัวข้อขั้นสูง
วงจรชีวิตแอปและการทำงานเบื้องหลัง
การยืนยันตัวตนและการจัดการเซสชัน
Monitoring & Crash Reporting
เชี่ยวชาญ React Native สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี