有关登录以及存储用户登录状态的相关逻辑
最近的几个项目都用到了localStrage来存储用户的相关登录信息,本来想继续深入学习下localStrage的相关内容,逐渐衍生到了用户登录的相关逻辑
先整理下localStrage的相关知识点
1、http跟hppts不互通,
2、localStrage 存储在 C:\Users\xxx\AppData\Local\Google\Chrome\User Data\Default\Local Storage (windows下的chrome为例)同一个域名加端口的存储上限是 5~10M,移动端则是不大于2.5M,可以通过恶意刷localStrage的
方式来搞崩溃一台电脑
3、在localStrage.setItem()之后。在文件夹中有时不会立即出现改变,我怀疑这些数据被放在chrome中,以避免重复读写带来的消耗,在电脑空闲的时候在存入硬盘
4、localStrage只是前端使用,后台不会使用,可以适用于某些网站的草稿功能
5、类似于web SQL 、indexed DB 这两个前端的数据库,一般需要做HTML5应用的时候才会使用到,比如PWA以及HTML5页游
后端的底线是不要相信任何用户的输入
对于前台输入的、存储在localStrage以及cookie中的内容,都可能被修改,前台对于输入只要进行最基本的非空以及输入规则的验证就可以
登录逻辑
登录之后会请求一个人token,存储在本地,每次接口请求都需要带上这个token,由后台进行判断token是否过期,过期则重新登录
cookie最大的优点是过期时间比较好控制,并且兼容性极好,发送请求的时候回自动带上cookie中存储的登录信息
https://segmentfault.com/q/1010000012617431 (参考了许多内容,其中评论以及回复都很有参考以及思考的价值)