对于我的网站,我想使用Firebase身份验证而不是FirebaseUI Web为基于电子邮件/密码的身份验证构建自己的登录表单。我将使用createUserWithEmailAndPassword JS函数创建新的用户帐户。但是,如何防止垃圾邮件注册?通常对于基于Web的表单,我会使用Google Recaptcha并在服务器上验证Recaptcha。但是在这里,我没有使用服务器来创建用户帐户。我正在客户端打电话创建用户帐户。
当然,我将在流程中使用电子邮件验证,但是如何防止机器人首先创建帐户?
我还了解到,Firebase对单个IP的每分钟请求数有某种限制,但我想进一步尝试阻止这些注册。
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
谢谢。
两年后,这个问题仍然有效,据我所知,这是不可能的。您可能不再需要此问题的答案,但可能会对其他人有所帮助。即使您成功完成了手动操作,这些js函数也会保留在那里,并且任何知道如何执行此操作的用户都可以手动调用它们。
如果没有隐藏的,最高机密的选项在文档中不可用,那么这是不可能的。有一个recaptcha选项,但仅用于电话身份验证。因此,似乎您有2个选择。
忽略并删除未验证其电子邮件地址的用户。
从Firebase控制台禁用电子邮件选项并实施您自己的电子邮件验证。生成自己的令牌并将用户登录具有该自定义标记的Firebase。 https://firebase.google.com/docs/auth/web/custom-auth