采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,使用angular打造app的时候,一般怎么保存登录信息或者说记住用户的状态,直接使用localStorage好像不是很安全的样子,有什么比较好的方式么?
并非用户的所有信息都敏感,所以不敏感的存在 localstorage 没有什么问题。
对于单页应用来说,如果考虑安全性,如果在不考虑 session 的情况下,应该只在内存中保存敏感信息,比如在 service 中的 私有变量,然后提供存储和读取方法。但这样做的缺点是刷新浏览器页面会丢失状态信息,因为应用被重启了。所以如果要记住这个状态的话,是要保留 session 的,而保留 session 对于很多坚持原教旨主义的前后端分离的开发者来说是难以接受,但本质上就是这样。如果要安全的保存,并且支持浏览器刷新后仍保留登录状态,那么 session 仍然需要使用。如果纯粹的前后端分离,那么只能保存在 cookie/localstorage/sessionstorage/indexdb 等本地存储中,但本地存储就是不安全,如果想要提升一些安全性,可以采用加密存储。
WEB端的话可以在session、storage这些上做处理,那如果是在Angular开发的手机App中呢?
你认为存在手机的存储空间就安全吗,前端的这个问题对于 iOS 和 Android 应用来说都是一样的。在开发策略上认为本地存储都是会泄漏的,所以 iOS 提出了 keychain,以操作系统的层面给一个安全存储空间,只不过这个安全存储不是什么都可以储存的,一般用来保存密码或密钥。但本质上,只要存到物理空间就是有风险的,所以利用一些加密算法是必要的。服务器之所以这个问题较为不明显,是由于服务器一般位于防火墙内部,除了某些必要端口,其它不对外开放。
这个安全的问题看来真的是一个学问,之前我都没有想的那么深入过
登录后可查看更多问答,登录/注册
高仿拼多多WebApp,带你在实战环境中学习Angular
682 4
700 7
549 3
1.4k 4
1.1k 14