由于长时间保持会话活动似乎不太可靠(使用session_set_cookie_params时),似乎下一个最佳选择是将cookie与会话一起存储。
当用户登录时,我创建一个随机哈希并将其存储在用户ID旁边的数据库表中。然后我创建一个cookie并将哈希存储在其中。
如果cookie存在,我提取哈希值,搜索用户ID并自动登录用户。
如果在开放的WIFI网络上,XSS攻击或有病毒/恶意软件,是什么阻止了这个cookie被某些黑客复制和使用?
永久保持会话活动的最佳方式是什么,或者直到用户退出?
答案 0 :(得分:1)
我们做的是使用custom session handler,然后使用memcached / mysql存储来后端。由于会话cookie可以设置为更长的超时,我们从memcached加载数据。如果它不在memcached中,我们从数据库加载它。如果它不是,那就是一个新的会话。这样您就没有生成新的会话ID(PHP仍然可以处理),但您必须管理会话中的数据。
答案 1 :(得分:1)
保护cookie免受cookie中的xss set HttpOnly标记。防止嗅探使用安全的ssl连接并设置cookie安全标志。