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


75

我正在测试我的登录/注册功能,由于某种原因,我不明白Firebase现在正在阻止来自设备的所有请求。

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

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

我应该怎么做才能再次访问我的数据库?


或等待,然后再重试,如消息所示。
Frank van Puffelen

2
我遇到了完全相同的问题!由我对身份验证表的测试引起的,以确保它们正确处理错误。Firebase确实应该提供一些重置此方法的方法。
罗布·戈曼

3
删除您的用户,然后重试,它对我
有用

2
我的身份验证用户表中没有用户,但仍然出现错误。
CENT1PEDE '16

1
我没有用户,并收到相同的错误
Matt

Answers:


29

可能的解决方案之一:

  1. 转到您的Firebase控制台->身份验证->用户表

  2. 找到您要测试的用户。

  3. 删除该用户。

  4. 重新测试。


38
我的身份验证用户表中没有用户,但仍然出现错误。
CENT1PEDE '16

2
我的用户在表中,我删除了,但现在为我工作。
Jagruttam Panchal

15
我从表格中删除了该用户,但仍然无法使用。
2013年

2
不幸的是,这对我没有用,必须断开wi-fi网络的连接并使用移动数据,谢谢!
迈克尔·斯托克斯

5
我正在测试短信登录和注销流程。这个突然的消息打断了它,它阻碍了测试过程……严重吗?
user1872384 '18

79

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

  1. 转到Firebase控制台
  2. 身份验证==>登录方法
  3. 转到“电话”,将显示弹出窗口
  4. 在“测试电话号码”中添加您的电话号码以及您选择的验证码

它现在可以工作了:)


对!添加它进行测试然后删除似乎可以“重置”此问题。谢谢!
故障

1
有了这个,我的电话没有被锁住,但我无法收到短信
穆罕默德

1
是的,这可行,现在您必须使用6位数代码作为OTP,因为您不会接收它,因为它现在是测试电话,并且没有阻塞
MR_AMDEV

如果遇到错误,请首先从“身份验证”->“用户”表中删除该用户,然后添加要测试的电话号码。
图雷持有人

26

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

错误“由于异常活动,我们已阻止了来自此设备的所有请求。请稍后再试。” 当用户使用相同的电话号码或IP地址发出SMS身份验证请求一定次数时,通常会抛出该错误。这些重复的请求被视为可暂时阻止设备或IP地址的可疑行为。

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

减少尝试避免触发反滥用系统的频率尝试使用列入白名单的电话号码测试您的应用程序 使用多个测试设备(因为每个IP或设备均已应用限制),请等待一个小时,以取消配额

我试图根据@lhk的答案增加配额,但是答案如下:

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


22

我遇到了同样的问题。

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

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

而已。当前,此配额的最大设置为每小时1000个 在此处输入图片说明


3
您认为我们在一小时内就能测试相同的电话号码100次吗?我的意思是真的吗?
Kishan Solanki

这是用于注册而不是登录!
Akshay

9

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


您找到其他解决方案了吗?
Manspof

抱歉,这与我当时正在从事的项目有关,因为它解决了我的问题,所以我从没有更深入地探讨过它。我必须承认,自那时以来我也从未见过。您是否有可能(无意中)创造了过多的流量并超过了限制?祝你好运。
卡梅尔

7

我已在“登录方法”选项卡中将手机添加为测试号码。

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

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

在此处输入图片说明

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


我是这样做的,但是现在我该如何检查输入的no和pwd是否正确。我收到异常“ com.google.firebase.auth.FirebaseAuthInvalidCredentialsException:用于创建电话身份验证凭据的验证ID无效。” 检查时
parita porwal 20-4-27



2

我设法通过重置用户密码来立即解决此问题。

步骤如下:

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

为我工作,比删除整个用户方便得多。
LordParsley'17年

0

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


0

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


0

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

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

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

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



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。
  • 添加号码。如果需要,可以将鼠标悬停在相应的行上,然后单击垃圾桶图标,以删除电话号码及其代码。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.