我有一个关于我正在使用谷歌Firebase构建的网站安全性的问题。目前它是一个非常简单的网站,带有注册/登录表单和登录的可能性。当用户登录时,他将被重定向到另一个页面:
firebase.auth().onAuthStateChanged(firebaseUser => {
if(firebaseUser){
window.location = 'home.html';
} else {
console.log('not logged in');
}
});
现在,任何人都可以查看js文件,甚至没有账户也能够知道用户将要被重定向到哪里,所以某些人可以通过在网站地址末尾添加
/home.html
来绕过登录表单。因此,在home.html
中,我添加了一个脚本,用于将未登录的用户重定向回主页:if(!firebaseUser){
window.location = 'index.html';
}
目前这种方式可以正常运作,用户可以进入网页,但如果未登录,则会立即重定向。然而,想象一下我在网页上有一些私人信息,我不希望其他人能够登录。但是,如果有人在浏览器设置中禁用了JavaScript并键入带有
home.html
的地址,则可以访问该页面并且不会被重定向。问题是:有没有解决这种情况的方法? 是否可以在用户获得访问网站文件权限之前检查用户是否已经登录,并在未登录时将其重定向?