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数据
有人能帮帮我吗?非常感谢。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报