javascript - 前端保存登录状态信息该如何保存???

 蓝色春天绿意长 发布于 2022-11-28 08:05

项目需求用户登录时可选择“记住我”与不勾选(临时登录)
登录成功后由前端来记录用户信息和token,localStorage记录“记住我”状态,sessionStorage记录不勾选状态,当为临时登录时,默认5个小时过期,若用户一直操作则以当前时间延后5个小时存入sessionStorage。
但是有个问题若用户频繁操作则操作Storage太过频繁,有更好或优化的方法吗

12 个回答
  • 难到楼主不能用cookie

    2022-11-28 08:37 回答
  • 如果频繁操作sessionStoragelocalStorage没有引发性能问题,你可以无需考虑,我认为也不太会引发性能问题,不要过早优化,没有意义。
    如果实在想要优化,可以记录下上次操作时间,如果状态值无变化且在既定时间段内则无需操作。

    2022-11-28 08:37 回答
  • Session

    2022-11-28 08:37 回答
  • 一般都存到Session里了

    2022-11-28 08:37 回答
  • 出于安全考虑应当使用session,因为用户基础信息数据如果保存到前端,除非你有加密,否则很容易就可以伪造。

    2022-11-28 08:37 回答
  • 放到session里比较号,比cookie稍微安全一点

    2022-11-28 08:37 回答
  • 用session的时候,每次退出会自动清除用户储存的信息,当记住密码的时候,用MD5.js进行加密一下,把用户的信息保存到本地即可。

    2022-11-28 08:37 回答
  • 难道不应该是前端登录时发送是否记住我的信息,然后后端保存到session中?

    2022-11-28 08:37 回答
  • 记住我和不勾选,这两个是一个属性的两个状态啊,为什么要存俩地方???

    2022-11-28 08:37 回答
  • 不用一遍一遍的存把,你只需要更新cookie的时间就可以了,懂吗?

    2022-11-28 08:37 回答
  • 一般这个失效期是放在token里的,也就是说这个时间问题暂不需要你去考虑,后端给token一个失效时间就好。然后就是你说的记录状态的问题。是否勾选就做一个判断,勾选了,你就存到localstorage里边,然后不勾选不用存。既然有登陆,那么这个系统必然会有退出。退出的时候你再把localstorage清除,就可以了。这个也不叫性能问题,那个是客户的恶意行为。可以通过一些方式去禁止,完成客户与我们的完美交互。

    2022-11-28 08:37 回答
  • 存入cookie或者session中,然后出于安全考虑可以设置一个token的过期时间

    2022-11-28 08:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有