我刚刚读到 Play 将会话数据保存在客户端:
重要的是要了解 Session 和 Flash 数据不存储在服务器中,而是使用 Cookie 添加到每个后续 HTTP 请求中。这意味着数据大小非常有限(最多 4 KB)并且您只能存储字符串值。
我对WEB没有经验,所以我有几个问题:
1) 安全吗?
2)在这种会话中存储敏感数据的合理性如何?
客户端可以更改请求数据(更改没有会话 ID 的会话数据)。Play 中是否有任何内置机制来防止此类情况的影响?当客户端更改会话数据,请求服务器尝试读取此数据后,会发生什么?
Cookie 使用密钥签名,因此客户端无法修改 cookie 数据(否则将失效)。
但这意味着什么?假设客户端更改会话数据。之后服务器端发生了什么:
String foo = session(bar)
foo 将为空?垃圾随机字符串?会抛出异常吗?