更改cookie并根据请求将它们保存到数据库中是否有效?

时间:2014-10-06 20:49:10

标签: php mysql session cookies

我使用动态更改cookie以保持用户登录。为了说明,登录成功后,登录控制功能将用户会话信息保存到rememberme表中,并使用此信息创建cookie。保存在服务器中的数据为user_idkeyexpiration_date
如果用户在cookie中使用有效的cookie(即user_idkeyexpire timerememberme表中存储的数据匹配“,则尝试访问仅限用户访问page,server创建一个具有不同密钥的新cookie,以及default-period到期时间,并在rememberme表中更新此信息。循环就是这样的。
因此,具有有效cookie的用户保持登录并在每次请求页面时延长其会话到期时间。 我的问题是,实现这种会话管理风格的效率是多少。这是否会给服务器和数据库带来负担?

  

仅供参考,我在Amazon EC2微型Windows服务器中使用PHP / Mysql   发展。

2 个答案:

答案 0 :(得分:1)

为什么不使用PHP会话?它们专为这样的任务而设计。

http://php.net/manual/en/book.session.php

答案 1 :(得分:0)

我发现使用自定义会话比使用PHP会话要好得多。在过去,使用php会话给我带来了随机问题。特别是如果您正在使用任何第三方程序。但是,总的来说,我喜欢通过处理自己的会话来更好地控制会话处理。我还重新验证会话,通过更新会话ID,比较用户代理和IP地址来帮助确保会话没有被劫持,所以这些肯定是有益的,与他们创建的任何开销相比,这并不多。

只需为随机用户情况仔细测试会话处理程序,以最大限度地减少错误。此外,请务必清理来自用户$ _SERVER变量的信息,因为这些变量可以被操纵。而另一个好的做法是处理你在会话处理程序中可以想到的任何情况的错误,以帮助防止劫持(尽可能多),并立即知道问题发生的时间和地点(PHP中没有提供的东西)会话)。主要建议,这很重要,所以一定要做好。