前端加密用户个人信息以及订阅信息变化

2023-04-18  本文已影响0人  隔壁老王z

大家通常会在登录后把个人信息存放在LocalStorage中,且是明文的。。。这其实是有很大的安全隐患的,假如被别有用心的人直接编辑修改,那会造成伪造权限进行操作的现象

http.post('/api/v1/login', params, (userInfo) => {
  localStorage.setItem('userInfo', userInfo)
})

我们应该对存储的个人信息进行加密,并且也需要在取值时进行解密

const USER_INFO_KEY = 'userInfo'


class UserInfoStroage {
  tasks: Record<> = {}
  get(key) {
    // 解密取值
  }
  set(value) {
    // 加密存储
    // 执行tasks
  }
  clear() {
    // 清除
  }
  subscribe(key, cb) {
    // 事件订阅,监听变化
    tasks[key] = cb
  }
}

export const uis = new UserInfoStroage()

这个事件订阅挺重要的,我们可能需要监听userInfo变化时去执行一些函数,就可以在这里进行订阅~

上一篇 下一篇

猜你喜欢

热点阅读