我希望您对Web应用程序的“会话ID”有所了解。
您认为以下哪一项是最好的:
{ data: { user_id: ???, auth_user_agent: ???, auth_ip, ???, expires: unix_time }, signature: { "data's signature" } }
已加密,然后是base64ed =>发送给用户我正在考虑性能和安全性。
底线是哪一个更好,(解密和验证签名),从缓存中检索或执行数据库连接,检索数据等。
答案 0 :(得分:1)
使用随机值从快速非关系缓存(如memcached)获取数据的速度远,并且比在浏览器发出的每个HTTP请求中传输此信息所消耗的资源少。浏览器最终会将此会话状态发送到不必要的文件,例如CSS,图像等静态连接。这种会话管理方法会给服务器的每个客户端请求增加不必要的开销。
它不太安全,因为即使它是加密的,也没有什么是完美的。除非您是专家密码学家,否则请避免不惜一切代价使用加密。