簡體   English   中英

Firebase電子郵件驗證示例是否安全?

[英]Is Firebase E-mail Auth example secure?

我嘗試使用Firebase的JS SDK,自然,我拿起了提供的示例並開始研究。

該示例代碼用於在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中完成的,並且服務器端規則是可自定義的,以防止未登錄的任何人編輯數據庫,但是那又如何呢?

您鏈接到的示例代碼來自Firebase電子郵件+密碼身份驗證提供程序的文檔。 我建議你閱讀文檔頁面太,而不是在隔離的示例代碼。

當我嘗試使用短密碼( 123 )創建用戶時,Firebase身份驗證服務器將響應:

{代碼:“身份驗證/弱密碼”,消息:“密碼必須為6個字符或更多。”}

如您所見,服務器也會驗證密碼的強度。

在客戶端和服務器端執行驗證是很常見的。

  • 如您所說, 必須在服務器上執行驗證,以確保不會被黑客入侵。
  • 通過還驗證客戶端的值,可以確保更好的用戶體驗。 在此示例中:如果用戶輸入了無效的電子郵件地址,則可以避免往返服務器的需要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM