我正在用PHP编写一个Web应用程序,我正在使用与着名的保存处理程序的会话,该处理程序在MySQL数据库中存储会话。我将session.gc_maxlifetime
设置为604800(一周)。所以,我需要知道一个“记住我”功能,我应该使用cookie还是足够?因为会话总是存储在数据库中一周 - 当我关闭窗口时,然后打开它我我已登录。
我没有在URL中使用SID,在我的会话表中我存储了sid,时间,数据;时间每次更新。因此,当用户关闭窗口时,会话仍然会在此后的一周内注册,当他回来时,时间会再次更新。
答案 0 :(得分:1)
您仍然需要Cookie。垃圾收集器用于服务器;它告诉PHP何时从服务器中删除会话数据。客户端仍需要会话标识符才能访问会话。会话标识符通常存储在cookie中。因此,如果cookie“超时”并且被webbrowser从cookie缓存中删除,则webbrowser不再发送cookie,因此服务器不再能够将客户端与会话匹配。
要点: 会话有两个部分:存储在服务器上的实际数据,以及使服务器知道允许客户端访问服务器上的会话数据的cookie。如果缺少一个,那么一切都将无法使用。
答案 1 :(得分:1)
我需要知道我是否想要记住我的功能,我应该使用cookies还是那个(会话)足够了?!!
会话应该比一周更有限。最多给它一个半小时。只要用户处于活动状态,会话就应该处于活动状态。
所以去找一个饼干。查看可用的开源软件中的现有实现。