2016-06-23 3 views
2

Я пытаюсь в JS SDK от Firebase, естественно, я взял предоставленный пример и начал погружаться в.Является ли Firebase E-mail Auth примером безопасного?

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; 
     } 
... 

Что Механизм, предотвратить кто-то открывать код в консоли, сняв флажок и регистрации под пустую строку как е -mail/пароль?

Поиск безопасности для firebase только скажите мне, что все сделано в HTTPS, и что правила на стороне сервера настраиваются для предотвращения того, что кто-либо не выполнил вход с редактирования базы данных, но как насчет этого?

ответ

4

Образец кода, на который вы ссылаетесь, приведен в документации по Firebase email+password authentication provider. Я рекомендую также прочитать страницу документации, а не только образец кода в изоляции.

При попытке создать пользователь с коротким паролем (123), сервер Firebase аутентификации отвечает:

{код: «авториз/слабый пароль», сообщение: «Пароль должен быть 6 символов длиннее или больше. "}

Как вы можете видеть, сервер также проверяет силу пароля.

Очень часто выполняется проверка как клиентской, так и серверной сторон.

  • Validations MUST выполняться на сервере, чтобы убедиться, что они не могут быть взломаны вокруг, как вы сказали.
  • Кроме того, проверяя значения на стороне клиента, вы можете обеспечить лучший пользовательский интерфейс. В этом примере: вы можете предотвратить необходимость совершения туда-обратно на сервер, если пользователь вводит неверный адрес электронной почты.
+0

Ваша ссылка указывает на версию документа для Android, я думаю, вы хотели направить меня на [веб-версию] (https://firebase.google.com/docs/auth/web/password-auth) , Я буду помнить ваш совет. – DrakaSAN

+0

Yup, я тестировал с помощью JavaScript, но скопировал неправильную ссылку. Исправлено. –

+0

Единственное требование к Firebase - факт, что он должен быть длиной 6 символов? Означает ли это, что пароля, такого как aaaaaa, достаточно, чтобы его можно было принять? –

Смежные вопросы