在pyrebase4的帮助下,我在python中创建了一个应用程序,我能够注册一个用户,并且只允许经过电子邮件验证的用户登录。
我想限制一个特定的用户每天登录次数。有什么安全规则可以限制这一点吗?一条规则,它可以检查特定用户在一天内登录的时间?
谢谢。
发布于 2022-03-09 16:09:05
Firebase身份验证没有任何可配置的方法来限制用户登录的频率。实际上,推荐的流程是,您要求用户尽可能少地登录,而SDK在应用程序重新启动/页面重新加载之间保持身份验证状态,以防止用户每次打开应用程序时都必须登录。
这听起来更像是一个特定于应用程序的用例,你希望用户每天只能使用你的应用程序一定次数。
我能想到的最简单的实现方法是每次用户启动应用程序时增加一个当前日期的计数器,例如在一个Firebase数据库中。然后,您还将在启动时检查该值,并在用户超过限制时向用户显示一条消息。
一旦将计数器存储在数据库中,就可以编写安全规则,防止用户在计数器超出限制时访问其他数据。而这种缺乏对数据的访问可能会使应用程序对他们无法使用。
发布于 2022-03-11 21:26:32
在用户对象中定义一个更强的MaxPerDay。假设您的应用程序的最大入口量是每天5次
{
"rules": {
"users": {
"$user": {
".read": "data.child('MaxPerDay').val() == 5"
}
}
}
}https://stackoverflow.com/questions/71405920
复制相似问题