swift - Cron 作业与安全规则

标签 swift firebase firebase-realtime-database cron firebase-security

就安全性和速度而言,为了在 Firebase 数据中包含过期数据,使用 cron 作业在过期后删除数据或使用安全规则以允许某些项目被删除会更安全吗?阅读它们是否已在特定时间段内发布?我的安全规则是:

 "rules": {
     "posts": {
       "$postID": {
        ".read": "data.child('timestamp').val() > (now - 86400)",

此外,用户只会检索时间戳小于一天的帖子。然而,这样做的问题是帖子是通过列表显示在 TableView 中的。如果帖子在用户使用应用程序时过期,则只有当应用程序再次查询数据时,该帖子才会消失。最好使用 cron 作业在添加每个帖子后添加一个计时器,在帖子超过 24 小时时删除子条目(就安全性和速度而言),同时为帖子中的每个子条目设置一个计时器。 Firebase 数据库?

最佳答案

“cron”作业不是计时器。它是一些代码的定期执行(例如:每小时、每周、每天)。您无法针对每个项目配置 cron 样式的调度程序。它将简单地按照您指定的单个计划执行。

如果您绝对必须在每个项目定义的一段时间后锁定数据,安全规则可以帮助您更好地实现这一目标。但是,如果您的规则允许用户列出某个位置的所有项目,则意味着您必须授予他们对该列表的整个节点的无条件读取访问权限。完成此操作后,您就无法拒绝 child 访问该位置。安全规则的工作方式是,一旦有人在某个位置具有读取权限,他们就可以读取所有子级,无论子级规则如何。

关于swift - Cron 作业与安全规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48896798/

相关文章:

ios - swift 将数据从一个选项卡 Controller 传递到另一个选项卡 Controller

ios - 使用数据内容播放视频而不保存

firebase - 为用户组之间的安全规则构建 Firebase 数据

android - 全局变量的值在 ValueEventListener 中初始化后会重置

swift - storageRef.downloadURL 没有在里面执行代码

firebase - "Catch all other"Firebase 数据库规则

swift - Firebase 结合查询和分页

javascript - 从 JS 函数调用 NodeJS 函数

java - 在 Firebase 上上传多个图像 - Android Studio

ios - 为什么我需要解包这个变量?