返回

javascript-阻止用户访问页面而不登录

发布时间:2022-06-21 23:53:14 241
# 前端

所以我正在做一个使用 Firebase 作为后端并且有多个页面的网站项目。在过去的几天里,我一直在实施 Firebase 身份验证来处理索引页面 (index.html) 上的登录/注册部分,以便用户可以访问网站的其余页面(mainPage.html、account.html 等)上)。

但是,我在实现 Firebase 身份验证时注意到的一个问题是,如果用户在 URL 栏上写入 URL,例如“http:/project.web.app/mainPage.html”,他们可以绕过登录部分。

我一直在尝试在我的“index.js”文件上使用重定向并检查用户是否已登录,如果他们尝试在栏上手动更改 URL,但这似乎根本不起作用。

index.js

function changeToLogin() {
    window.location.href = "login.html";
}

function changeToSignUp() {
    window.location.href = "signup.html";
}

function checkLogin() {

const firebaseConfig = {
    apiKey: "",
    authDomain: "",
    databaseURL:
        "",
    projectId: "",
    storageBucket: "",
    messagingSenderId: "",
    appId: "",
    measurementId: "",
    };
  
    // Initialize Firebase
    const app = initializeApp(firebaseConfig);
    const auth = getAuth(app);        
    onAuthStateChanged(auth, (user) => {
        if (user) {
            // User is signed in.
            console.log("User is logged in");
            console.log(user.uid);
        } else {
            // No user is logged in.
            console.log("User isn't logged in");
            window.location.replace("login.html");                                         
        }
    });
}
  

window.onload = function() {
    checkLogin();

    var btnL = document.getElementById("login");
    btnL.onclick = changeToLogin;

    var btnR = document.getElementById("signup");
    btnR.onclick = changeToSignUp;    
}

出于明显的原因,我删除了FirebaseConfig数据

有人能帮帮我吗?非常感谢。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像