上次活动存储的用法和好处 - 会话管理

时间:2013-10-27 16:46:08

标签: php mysql codeigniter security database-design

我一直在看各种框架的示例和文档,这些框架关于最后一次活动存储到数据库而不是会话数组(暂时)。在对各种网站,博客和网站进行研究之后,我学到了一个关于为什么跟踪上一次活动的常见方法,我们可以检查用户上次注销的时间。

==========

问题

一个。存储用户上次活动的主要原因和好处是什么?

湾将用户的上一个活动存储到数据库中而不是将它们存储到临时会话数组中的优点和缺点是什么? C。通过使用用户的上一次活动,您出于安全目的使用的最佳策略是什么?

d。是否有比上次活动存储更好的方法来跟踪用户和增强Web应用程序的安全性?

1 个答案:

答案 0 :(得分:1)

а)这取决于您正在构建的应用程序的需求。对于某些情况,它是无关紧要的,对某些情况来说这很重要(客户最后一次登录电子商务商店的时间是什么时候?)

b)存储在DB中 - 对会话活动的全局访问,这意味着您可以将其显示给当前登录的所有/其他用户。存储在DB中意味着更大的数据库空间,因此您将需要垃圾处理机制(Codeigniter)我自信地这样做)

c)如果将会话存储到服务器上,则它取决于服务器的安全性,如果将其存储在数据库中,则取决于数据库的安全级别。在任何情况下,包含会话密钥的cookie应该是随机的长字符串(由Codeigniter处理)。就个人而言,我根据申请的需要使用了这两种方法。

d)这又取决于场景。例如,如果您发现用户已登录超过一年,并且连续5次尝试登录失败,则可能意味着他忘记了密码,因此您应该向他发送包含重置的电子邮件链接或警告尝试登录。