Как проверить, что время пользователя соответствует действительности и не подделывает приложение в Swift 5? - PullRequest
1 голос
/ 10 февраля 2020

Я хотел бы убедиться, что пользователь приложения не перепутал настройки времени, чтобы подделать время транзакций в моем торговом приложении. Я использую Firestore в качестве базы данных. Каков был бы самый умный способ go об этом?

1 Ответ

3 голосов
/ 10 февраля 2020

Самый простой способ убедиться, что вы можете доверять отметке времени, это использовать встроенную в Firestore отметку времени сервера . Из документации:

db.collection("objects").document("some-id").updateData([
    "lastUpdated": FieldValue.serverTimestamp(),
])

Если вы не можете использовать временную метку сервера, вы можете использовать правила безопасности на стороне сервера Firestore, чтобы как минимум убедиться, что временная метка, которую передает клиент, равна в разумных пределах. Для этого сравните встроенную переменную request.time со значением, указанным клиентом.

...