使用MySQL处理C ++服务器中的会话和超时的最佳做法是什么。
我的C ++服务器生成会话GUID并将其作为Set-Cookie发送到客户端 - 浏览器。
我是否应该暂停任何会话?
我应该在MySQL用户表中保存会话GUID吗?
当用户做某事时,我应该更新表中的任何时间戳,还是应该直接在C ++服务器中保存会话和上次操作?
我应该如何处理“保持登录状态”,永不过期会话GUID? (这可能是一个很大的安全漏洞)
答案 0 :(得分:1)
我无法帮助您使用C ++部分,但这里有一些关于会话的指针(服务器端):
Session对象应至少保持
在每次访问时,将Session对象中存储的到期时间与当前时间进行比较,以确定会话是否已过期。如果是这种情况,会话将失效,并且会话对象将从会话管理器的缓存中删除。在Web服务器的情况下,302被发送回客户端并且cookie已过期。
会话管理器可以实现会话缓存,该缓存位于内存中或持久保存到磁盘。将其保留到磁盘可在服务器重新启动时提供会话恢复。缓存还可以是分布式缓存(例如,Memcache),它允许群集中的多个服务器共享Sessions对象并在服务器之间提供负载平衡。