这样保护我的网站的安全性足够吗?如何使我的网站受服务器保护?

时间:2019-06-18 14:02:27

标签: javascript login firebase-authentication

只要某人未登录,我想将我的网站“锁定”。实施的登录系统使用Google Firebase,因此我可以轻松,安全地允许用户登录。

当前,我编写了一条if语句,如果您尚未登录,该语句会将您重定向到登录页面。我知道可以轻松地绕过该脚本,因为该脚本是客户端的,所以我想问一下最好的方法是对我来说,使这个过程更加安全。我考虑过使用脚本在用户登录时将整个html插入页面中,但这也意味着整个html将位于客户端脚本中,这是不好的。

auth.onAuthStateChanged(function(user) {
  if (user) {

    if(window.location.href =="login.html"){
    mail = user.email;
    window.alert("on login logged in. redirecting to index User Email: " + mail);
    window.location.replace ("index.html");

    }
  } else {
    window.alert(window.location.href);
    if(window.location.href !="login.html"){
    mail = null;
    window.alert("not on login and logged out. Redirecting to login page Email: " + mail);
    window.location.replace = "login.html";

    }
  }
});

1 个答案:

答案 0 :(得分:0)

如果您的网站托管在Firebase Hosting上,则所有文件都是公开的。无法阻止用户访问特定文件。参见Firebase Hosting - password protect website?Can Firebase hosting restrict access to resources?

也就是说,秘密信息通常不直接存在于HTML中,而是存在于从服务器(例如,从数据库)加载的其他资源中。并且,如果您使用的数据库来自Firebase(Cloud Firestore或实时数据库),则可以确保只有授权用户才能使用Firebase's server-side security rules访问数据。如果您使用的是其他数据库或您自己的后端来提供需要保护的数据,请在您自己的后端代码中查看verifying ID tokens,以确保该用户有权访问数据。