如何阻止特定用户访问您的应用程序?

Posted

技术标签:

【中文标题】如何阻止特定用户访问您的应用程序?【英文标题】:How to block a specific user from your app? 【发布时间】:2016-01-04 18:51:59 【问题描述】:

我有一个应用程序只允许用户通过 Facebook 登录。后端是 Parse。我有很多假用户创建帐户并搞砸我的应用程序,发布不适当的内容。有没有办法阻止 Facebook 帐户列表登录/使用我的应用程序?我有他们的 Facebook ID 列表,但我不知道如何通过编写云代码来阻止他们。

提前谢谢你!

【问题讨论】:

当用户尝试登录并在您的应用中添加黑名单时,您不能检查回调吗?如果他们尝试登录,您只会挡住他们的视线。 但这意味着每次我需要将某人添加到此列表时都要更新应用程序。否则,每次用户登录时,我都会对具有此黑名单的另一台服务器进行额外调用,然后在需要时阻止用户。但是额外的调用真的有必要吗? 特别是因为,我必须在用户登录并搞砸之后阻止他们。因此,我必须在每次打开应用程序时检查他们是否是不良用户。对我来说似乎是一种浪费。 只要将该列表保存在数据库中,您就可以随时访问和添加/删除帖子。 【参考方案1】:

只需向您的 User 表中添加一个新的布尔列,以指示该用户是否被阻止/列入黑名单。每次 Facebook 用户获得新会话时,他们的 authData 字段都需要更新。因此,您可以使用 Cloud 上的beforeSave 触发器来检查用户是否被列入黑名单并返回错误,从而阻止他们获取新令牌并根本无法登录。

现在要阻止用户,在Session 表中找到他们的会话记录并将其删除,这会使他们的令牌无效并将他们注销。然后只需将他们的blocked 字段设置为true。他们应该无法再登录您的应用了。

【讨论】:

以上是关于如何阻止特定用户访问您的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Apache 中阻止特定的用户代理

如何阻止用户访问给定的 url?

IOS - 如何阻止所有来电?

不要在 Powershell 脚本中阻止特定组的用户

闪亮的如何阻止用户访问选项卡?

阻止特定用户访问命令提示符