Firebase 3 - 由于异常活动,我们已阻止此设备的所有请求

时间:2016-06-02 20:54:44

标签: firebase firebase-authentication

我正在测试我的登录/注册功能,由于某种原因我无法理解Firebase现在阻止了我设备的所有请求。

我等了一天再试一次,但我仍有同样的问题。

  

错误:      “由于异常活动,我们已阻止此设备发出的所有请求。请稍后再试。”

请问,我该怎样做才能再次访问我的数据库?

谢谢。

13 个答案:

答案 0 :(得分:16)

如果您使用电话身份验证,请执行以下操作:

  1. 转到Firebase控制台
  2. 登录方式
  3. 转到“电话”,将显示弹出窗口
  4. 在“用于测试的电话号码”中添加您的电话号码

现在可以使用了:)

答案 1 :(得分:14)

可能的解决方案之一:

  1. 转到Firebase控制台 - >验证 - >用户表

  2. 找到您正在测试的用户。

  3. 删除此用户。

  4. 重新检验。

答案 2 :(得分:6)

这是我遇到的许多怪癖之一。虽然Firebase似乎是一个不错的框架/产品/服务,但目前它还没有为广泛的生产部署做好准备。在这种情况下,我只使用一个特定的(假的)用户进行测试/调试,并且只在几次尝试之后(可能不超过10次登录),我遇到了这个问题。有趣的是,我的测试在每次运行后删除了假测试用户,因此我之后无法在我的auth用户表中看到任何用户。我的解决方案是通过“ADD USER”按钮手动添加该用户,然后将其删除。我认为他们应该(至少作为一种解决方法)用于测试/调试的可定义用户,如果他们确实认为他们必须具有这样的(低)限制,则不受此限制。

答案 3 :(得分:5)

我遇到了同样的问题。

默认情况下(对于免费计划),firebase会根据每个IP地址为每小时100次登录。 这破坏了我们的自动测试。您可以像这样更改设置:

  • 打开控制台
  • 打开您的项目
  • 转到“身份验证”
  • 转到“登录方式”
  • 向下滚动到“管理登录配额”

就是这样。目前,此配额的最大设置为1000。

答案 4 :(得分:4)

我联系了Firebase支持并收到了此消息:

  

错误“由于以下原因,我们已阻止了来自此设备的所有请求:   不寻常的活动。稍后再试。”通常是在用户   使用以下命令进行SMS身份验证请求一定次数   相同的电话号码或IP地址。这些重复的请求是   被视为可疑行为,会暂时阻止   设备或IP地址。

     

此外,每个电话号码每4小时最多只能发送5条短信。   这样,您可以尝试执行以下操作来解决该问题:

     

减少尝试避免触发反滥用的频率   系统尝试使用whitelisted phone numbers for testing your app   使用多个测试设备(因为限制适用于每个IP或   设备)等待一个小时,以取消配额

我尝试根据@lhk answer增加配额,但是答案是 以下:

  

您还提到您已将配额增加到   1000,但是没有用。请注意,此“管理注册配额”   该字段用于电子邮件/密码和匿名注册。

答案 5 :(得分:2)

https://stackoverflow.com/a/39291794/18132

上查看我的回答
  

我进入了firebase>身份验证>登录方法>谷歌并将我的客户端ID添加到白名单。

答案 6 :(得分:2)

我设法通过重置用户密码立即开始工作。

步骤如下:

  1. 进入管理控制台,身份验证,用户
  2. 找到用户
  3. 点击最右侧栏中的菜单点
  4. 选择重置密码,然后单击“确定”
  5. 完成后,请按照电子邮件中的步骤进行操作

答案 7 :(得分:0)

我已在“登录方法”标签中将手机作为测试号码添加。

实际上,当您超出配额限制时,就会发生此错误。

只需添加您的号码并测试OTP即可使其正常工作。

enter image description here

  

注意:测试编号不会收到任何OTP消息,因为我们已经   定义的静态OTP代码。

答案 8 :(得分:0)

我也遇到了同样的问题,因此我通过购买Blaze计划解决了这个问题。从Firebase的角度来看,这种阻止似乎是一项安全措施。 如果您将Firebase用于开发目的,则购买Blaze计划不会花任何钱,因为它具有与Spark计划中相同的免费服务配额。

答案 9 :(得分:0)

原因之一也可能是在短时间内将验证电子邮件发送到用户的电子邮件。尝试添加一个持续时间计时器,然后检查是否已在该持续时间内发送了验证消息。

答案 10 :(得分:0)

将您的数量添加到Firebase作为测试人员。这样,您可以进行多次测试。 从一个号码到一个项目的其他多个请求。 Firebase将其视为黑客并将其阻止。

将您的电话号码添加为Tester的方式是: 去 -> Firebase控制台->身份验证->登录方法->编辑电话->用于测试的电话号码(可选)

添加您选择的电话号码和验证码,然后该号码即可使用。

您不会从firebase中获得验证码,但可以提供设置为测试人员的验证码,并可以通过电话登录

答案 11 :(得分:0)

如果要进行测试,更好的方法是将电话号码添加为测试号码身份验证>登录方法>电话。然后添加测试编号+您将使用的验证码

答案 12 :(得分:0)

此外,设置Firebase Auth测试电话号码也会有所帮助。

https://firebase.google.com/docs/auth/ios/phone-auth#test-with-fictional-phone-numbers

使用虚构电话号码进行测试
您可以通过Firebase控制台设置虚拟电话号码进行开发。使用虚拟电话号码进行测试可以带来以下好处:

  • 在不消耗您的使用配额的情况下测试电话号码身份验证。
  • 测试电话号码身份验证,而不发送实际的SMS消息。 使用相同的电话号码连续运行测试,而不会受到限制。如果审阅者碰巧使用相同的电话号码进行测试,则可以最大程度地减少在App Store审阅过程中被拒绝的风险。
  • 无需进行任何额外的工作即可在开发环境中轻松进行测试,例如能够在没有Google Play服务的iOS模拟器或Android模拟器中进行开发。
  • 编写集成测试,而不会受到通常在生产环境中应用于真实电话号码的安全检查的阻碍。

虚拟电话号码必须满足以下要求:

  • 确保使用的电话号码确实是虚构的,并且尚不存在。 Firebase身份验证不允许您将真实用户使用的现有电话号码设置为测试号码。
    一种选择是使用555个带前缀的号码作为美国测试电话号码,例如:+1 650-555-3434

  • 电话号码必须正确设置格式以限制长度和其他限制。他们仍将通过与真实用户的电话号码相同的验证。

  • 您最多可以添加10个电话号码进行开发。

  • 使用难以猜测的测试电话号码/代码并经常进行更改。

创建虚构的电话号码和验证码

  • 在Firebase控制台中,打开“身份验证”部分。
  • 在“登录方法”选项卡中,如果尚未启用,请启用电话提供商。
  • 打开用于测试手风琴的电话号码菜单。
  • 提供要测试的电话号码,例如:+1 650-555-3434。
  • 提供该特定号码的6位验证码,例如:654321。
  • 添加号码。如果需要,可以将鼠标悬停在相应的行上,然后单击垃圾桶图标,以删除电话号码及其代码。