我今天早上接受编程采访时,被问到以下哪个答案可以维持用户在浏览网站甚至打开新标签时的登录状态:
我认为其中没有一个是合适的答案。
可以使用Cookie,但这并不安全。
保持活动是指保持连接开放以提高网络效率。也许如果登录需要恒定的服务器连接,则可以正常工作,但似乎通常不适合用例。
Websocket用于来回通信,不维护登录名。
可以再次使用Localstorage,但是像cookie一样,它没有任何数据安全性,这似乎又是不合适的。
我告诉采访者会话时,客户端将令牌存储在服务器端,但他希望我从选项列表中进行选择。我选择了本地存储,但是不确定是否是正确的选择。我想念什么?我误会了一些概念吗?
很遗憾,答案“ 1. HTTP cookie”是正确的。 Cookie可以安全的方式实现。有关详细信息,请参考OWASP ASVS V3.4基于Cookie的会话管理。
本地存储-顾名思义-用于将数据本地存储在客户端上。默认情况下,不与服务器共享此存储,并且绝不应该使用该存储来保存任何机密数据。
您对其他观点或多或少是正确的。