1.9Kпросмотров
63.1%от подписчиков
30 декабря 2025 г.
📷 ФотоScore: 2.1K
Hola, Amigos! Даже идеально защищенный backend не поможет, если приложение уязвимо на уровне устройства. В финальной части посмотрим на безопасность со стороны устройства и пользовательского интерфейса. 1. Запрещайте скриншоты на чувствительных экранах Некоторые чувствительные данные не должны попадать в скриншоты: @override
void initState() { super.initState(); if (Platform.isAndroid) { FlutterWindowManager.addFlags( FlutterWindowManager.FLAG_SECURE, ); }
} 2. Используйте биометрию Биометрия нужна не только для логина. final auth = LocalAuthentication(); await auth.authenticate( localizedReason: "Verify to access your bank account", options: const AuthenticationOptions( biometricOnly: true, ),
); Подходит для различных сценариев: - входа
- платежей
- доступа к профилю 3. Автоматический логаут и контроль сессии class SessionManager { Timer? _timer; void start(void Function() onExpire) { _timer?.cancel(); _timer = Timer( const Duration(minutes: 5), onExpire, ); } void refresh() { _timer?.cancel(); }
} Выход при: - уходе в фон
- бездействии
- истечении токена 4. Root / Jailbreak — блокировать final isRooted = await RootChecker.isRooted();
if (isRooted) { exit(0);
} Не забывайте про использование в нескольких местах и рандомных триггерах, чтобы труднее было подвергнуть приложение реверс-инжинирингу. 5. Код и логи в продакшене flutter build apk --obfuscate --split-debug-info=./symbols
flutter build ios --obfuscate if (kDebugMode) { print("Token: $token");
} Надеюсь, советы были полезны и помогут избежать типовых ошибок при разработке приложений на Flutter. Если тема откликнулась — пишите в комментарии!