我使用的是Firebase 2.x。如果我启用电子邮件/密码安全,我如何防止恶意的预先存在的用户编写他们自己的javascript代码,这些代码将通过我的Firebase进行身份验证,然后发起createUser攻击?假设它可能看起来是这样的:
var ref = new Firebase(my_fire_base);
ref.authWithPassword({ email : 'pre@existing.com', password: 'validpassword' },
function(error, authData) {
if (!error) {
ref.createUser( ... ); // do this a bunch of times
}
});
由于这个问题被交叉发布到了谷歌群组,我将引用那里给出的答案:
调用createUser()不需要经过身份验证。这是所有注册系统的设计和工作方式。恶意客户端可能会调用createUser()无数次,但这正是我们在提供的服务中建立速率限制并阻止人们这样做的地方。你不能受到特定来源的限制,即使你可以,正如你所提到的,这也很容易被欺骗。