【问题标题】:Firebase & Captcha for createUserWithEmailAndPassword用于 createUserWithEmailAndPassword 的 Firebase 和验证码
【发布时间】:2017-02-22 23:30:26
【问题描述】:

我正在处理另一个不需要后端的客户项目。我想使用 Firebase,因为它可以满足我们的一切需求,事实上我们已经构建了大部分微型网站。

我们不想要求我们的用户输入电子邮件,因为我们认为它放弃了太多可识别信息。相反,我们所做的是在注册和登录时分配@users.ourdomain.com 电子邮件如果用户不想提供自己的电子邮件地址并且或多或少保持匿名但仍然可以访问如果需要,请再次访问站点及其数据。微型网站是一次性体验(如果您向朋友展示,可能两次),一年内没有人会因为忘记密码而回来,所以这与这种情况无关。

我开始意识到没有办法完全保护createUserWithEmailAndPassword 功能,因为任何人都可以向它发送垃圾邮件并创建大量帐户并用完所有用户名或电子邮件。有没有办法在不为 Firebase 实现单独的后端/令牌身份验证的情况下合并类似验证码的系统?

我现在能想到的唯一解决方案是启动 AWS Lambda 来处理 Captcha & Tokening。但当然,任何消除后端必要性的解决方案都是更可取的。以前有没有其他人遇到过类似的问题?如果是这样,您最终是如何解决的?

非常感谢您抽出宝贵时间,祝您编码愉快。

【问题讨论】:

    标签: javascript firebase frontend captcha


    【解决方案1】:

    Firebase 身份验证支持its documentation 中列出的身份验证提供程序。其电子邮件+密码提供商没有内置验证码支持。但老实说,使用anonymous authentication 听起来您可以实现大部分既定目标,这会简单得多。

    除此之外,您似乎还担心创建恶意用户。虽然这绝对是一种可能性,但它对设计良好的应用程序没有影响。身份验证(知道你是你)对授权(你被允许做的事情)没有影响。有关该主题的好答案,请参阅How to prevent other access to my firebase

    【讨论】:

    • 深入了解匿名身份验证,我意识到可以选择转换为永久帐户。几乎解决了我们最大的问题。谢谢一百万!
    • @Frank van Puffelen ,有没有内置的方法来防止恶意用户创建?验证码是我能想到的唯一自定义解决方案,有什么内置的安全方法可以防止它吗?喜欢尝试记录androidId,deviceId或firebase可以知道的其他因素吗?
    猜你喜欢
    • 2020-01-31
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 2020-01-05
    相关资源
    最近更新 更多