我正在使用Firebase2.x。如果我启用了电子邮件/密码安全性,如何防止恶意的既存用户编写自己的javascript代码,该代码将对Firebase进行身份验证,然后发起createUser攻击?假设地,它可能看起来像这样:
var ref = new Firebase(my_fire_base);
ref.authWithPassword({ email : '[email protected]', password: 'validpassword' },
function(error, authData) {
if (!error) {
ref.createUser( ... ); // do this a bunch of times
}
});
最佳答案
由于这个问题是cross-posted to Google Groups,因此我将引用there给出的答案:
您无需通过身份验证即可调用createUser()。这是设计使然,以及所有注册系统如何工作。恶意客户端可能会无数次地调用createUser(),但这是我们在我们提供的服务中建立速率限制并阻止人们这样做的地方。您不能限制特定的来历,即使您可以像您提到的那样,也可以很容易地进行欺骗。