php - 清除 session 表中持久日志中的行?

标签 php mysql cookies authentication persistence

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

我想知道如何甚至是否我应该保持这张 table 清洁。在某些情况下,它可能包含冗余行。如果我不清理它,它可能会很快膨胀。

当用户明确注销应用程序时,如果存在 cookie,则该 cookie 将被销毁;如果与任何匹配,相应的行(基于 cookie 的 series_id)将被销毁。

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

最佳答案

考虑添加一个列来存储行的创建日期,并定期删除超过 90 天的行,或者无论 cookie 过期时间如何。

顺便说一句,我希望您使用 HTTPS 和安全 cookie 来避免嗅探或假冒造成的 session 劫持。

关于php - 清除 session 表中持久日志中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166321/

相关文章:

php - 如何从网站地址中删除文件扩展名?

php - 如何调试 PDO 数据库查询?

c# - 不允许大于 max_allowed_pa​​cket 的数据包

jquery - Cookie + Zurb 揭示

cookies - 不同类型的浏览器存储

javascript - 从 cookie 中读取特定值

php - 按时间排序和非空排序

php - PHP中发生错误时如何获取所有变量

mysql - NLog mySQL 目标配置

mysql - 按小时和日期分组