从持久登录会话表中清除行?

时间:2014-08-06 17:16:45

标签: php mysql cookies login persistence

我有一个名为user_sessions的表格,我在其中存储了选择了iduser_idseries_idkey的用户在重新打开浏览器后保持登录状态。选择它后,具有相同数据的cookie(id除外)将存储在客户端的浏览器中。在Cookie发布后,我已将到期时间设置为 90 天。

我想知道如何甚至如果我应该保持此表清洁。在某些情况下,它可能包含多余的行。如果我不清理它,它可能会很快膨胀。

当用户显式退出应用程序时,如果存在cookie,则会销毁该cookie,并且如果匹配任何行,则会删除相应的行(基于cookie series_id)。

但是,当客户端浏览器中的cookie数据被更改或删除(通过其他然后我的应用程序)时,相应的表格行将变得多余,我的应用程序将赢得#39 ; t能够知道它应该被删除,因为它无法区分活跃使用的行和冗余的行。

1 个答案:

答案 0 :(得分:0)

考虑添加一个列,该列存储创建行的日期,并定期删除超过90天的行,或者任何Cookie过期的行。

顺便说一句,我希望您使用HTTPS和安全Cookie来避免会话劫持嗅探或模仿。