[英]php session_destroy all clear all sessions except the one running the code
我一直在寻找一种方法来注销所有用户,除了激活该命令的用户? 如果有办法做到这一点...我在下面有以下代码,但我什至不确定它是否100%有效,因为它说“ try”
ini_set('session.gc_max_lifetime', 0);
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1);
所以我想清除每个会话上的所有会话(session_destroy),但查看页面的会话除外? 这可能吗..
我认为在这种情况下,更正确的方法-创建自定义代码以注销所有用户。 例如,我可以建议以下解决方案:
您可以将特殊参数last_users_logout_time
存储在数据库中,并在用户登录时将其存储在$ _SESSION数组变量user_login_time
。 并且在每个页面中,您可以检查user_login_time
< last_users_logout_time
或user_login_time
是否为null,然后注销用户。 很简单。 对于忽略指定的用户,您可以将参数except_logout_user_id
添加到数据库中
更“正确的方法”-将$ _SESSION数据存储在数据库中,并且只对所有session
表(指定用户除外)运行DELETE
查询
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.