【问题标题】:Securely set date that user can't manipulate react-native安全地设置用户无法操作 react-native 的日期
【发布时间】:2018-10-08 11:30:25
【问题描述】:

构建一个基于日期限制使用的简单应用程序。例如,您每天只能查看一个页面 3 次。

但是,如果我使用设备时间,用户可以更改他们的时间,然后再次查看这些页面。

还有其他最佳实践方法吗?试图避免调用服务器。使用本机反应。谢谢

【问题讨论】:

  • “永远不要相信客户。”始终建议使用服务器。

标签: react-native


【解决方案1】:

最佳做法是仅使用服务器时间。 您可以使用以下库

https://github.com/artem-russkikh/react-native-clock-sync

【讨论】:

    【解决方案2】:

    如果不访问服务器,这有点棘手。

    进入

    假设他们第一次打开您的应用时,用户日期是正确的。 (我真的不知道以离线方式检查的任何其他方式)

    那一刻我们需要将当前时间戳保存到本地存储(在 RN 中称为 AsyncStorafe)。

    解决方案

    您可以真正确定时间戳正确的唯一方法是保留一项按秒/分钟/小时计算的任务,无论您的情况是否合乎逻辑。

    问题

    在 react native 中执行此操作不会让您走得那么远,但我们可以创建一个 Java 后台服务,例如,我们会在应用程序关闭时立即启动。在这里,您应该跟上时间并在应用程序启动到一个也可以从 react native 访问它的地方保存它(不确定 AsyncStorage 是否是)。

    信息

    在这里你可以找到一些关于 RN 中 bavkground 任务的信息:https://hackernoon.com/easy-os-background-tasks-in-react-native-bc4476c48b8a?source=linkShare-cdf0b7d5ccb4-1538965801

    最安全和最简单的时间作弊预防方法是点击服务器 vut,如果这不可能,这可能是一个有趣的方式来检查它。祝你好运!

    【讨论】:

      猜你喜欢
      • 2022-07-27
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2019-11-10
      相关资源
      最近更新 更多