在会话存储中存储Firebase用户Uid是否存在漏洞?在客户端浏览的javascript中,当用户登录后,我使用用户Uid从Firebase数据库中获取数据。
如果这是一个漏洞,有什么更好的方法可以用来识别用户并从数据库中获取用户的数据呢?
登录后将数据存储在存储空间。
handleLogin = async (evt) => {
evt.preventDefault();
await fire
.auth()
.signInWithEmailAndPassword(this.state.userName, this.state.password)
.then((u) => {
this.props.toggleLogin();
db.collection('login')
.where('loginId', '==', u.user.uid)
.get()
.then((res) => {
sessionStorage.setItem('loginId', u.user.uid);
});
this.props.history.push('/portfolio');
})
.catch((err) => {
console.log(err);
if (this.state.email === '') {
this.dialog.showAlert('Please enter a valid email');
} else if (this.state.password === '') {
this.dialog.showAlert('Please enter a valid password');
}
});
};
获取UserId
let data = sessionStorage.getItem('loginId');
在任何情况下,浏览器中的任何存储都是不安全的。你可以参考 vuex
的 VUE
的数据存储。你应该在服务器端避免这些问题。用户可以打开控制台查看API请求,并伪造API请求,所以前端的安全性实在是不太好