我正在尝试使用Firebase的JS SDK,当然,我选择了提供的示例并开始潜入。
The example code用于登录电子邮件,在Firebase上托管。
让我感到惊讶的是,所有密码合规都是客户端的:
...
function toggleSignIn() {
if (firebase.auth().currentUser) {
// [START signout]
firebase.auth().signOut();
// [END signout]
} else {
var email = document.getElementById('email').value;
var password = document.getElementById('password').value;
if (email.length < 4) {
alert('Please enter an email address.');
return;
}
if (password.length < 4) {
alert('Please enter a password.');
return;
}
...
什么机制阻止有人在控制台中打开代码,删除支票,并在空字符串下注册为电子邮件/密码?
搜索firebase安全性只告诉我所有内容都是通过HTTPS进行的,服务器端规则是可自定义的,以防止任何未登录的人编辑数据库,但是这个呢?
答案 0 :(得分:4)
您链接的示例代码来自Firebase email+password authentication provider的文档。我建议也阅读文档页面,而不是只是单独的示例代码。
当我尝试使用短密码(123
)创建用户时,Firebase身份验证服务器会响应:
{code:“auth / weak-password”,消息:“密码长度必须为6个字符或更长。”}
如您所见,服务器也会验证密码的强度。
在客户端和服务器端执行验证是很常见的。