如何创建实时PHP会话控制?我的意思是,当用户登录时,我创建了一个PHP会话($_SESSION[]
),并将它存储在一个表(MySQL)中,但是如何知道用户何时注销?我明显可以检测到用户何时注销并销毁会话,但如果用户从未单击,会发生什么情况注销如何在会话关闭时检测到该问题?
谢谢!PHP实时会话控制。怎么样?
0
A
回答
1
这是一个常见问题。当用户不单击注销按钮时,会话将再次可用。通常情况下,垃圾收集器会在定义的时间后清理会话。
http://www.wikihow.com/Create-a-Secure-Session-Managment-System-in-PHP-and-MySQL
这里是一个很好的教程如何建立一个MySQL的会话处理程序。所以让PHP管理这个部分。
重要组成部分,是在这里:
<?php
// set our custom session functions.
session_set_save_handler(array($this, 'open'),
array($this, 'close'),
array($this, 'read'),
array($this, 'write'),
array($this, 'destroy'),
array($this, 'gc'));
// This line prevents unexpected effects
//when using objects as save handlers.
register_shutdown_function('session_write_close');
?>
您定义清理您的会话功能的最后一个阵列。
-1
我有这个问题,但我解决了通过创建另一个ID,所以我不必使用SESSION ID(我认为它不安全),所以每次用户登录我的系统时,他会得到另一个ID,我的函数检查如果用户有权检查数据库上的用户标识,该用户标识也保存在我的会话中,以检查它是否与我的数据库上的标识相同。
我认为这是另一个安全措施,以确保我只有一个用户登录实例,并且直到现在我都没有问题。
但是,如果您必须知道用户何时断开了您的系统,这将无济于事。
相关问题
- 1. 会话的控制持续时间PHP
- 2. PHP - 会话和控制器
- 3. Plone版本控制,怎么样?
- 4. 视图和控制器彼此不可见?怎么会这样?
- 5. 怎么办时,PHP会不会在笨另一个控制器继续吗?
- 6. 控制会话
- 7. 会话控制
- 8. javascript/php静态倒计时,怎么样?
- 9. Php,会话ID控制不起作用?
- 10. PHP AJAX控制会话变量消失
- 11. PHP中的password_hash()怎么样
- 12. PHP命令+值?怎么样?
- 13. 样式-CSS php会话值
- 14. 制作按钮怎么样?
- 15. 制作图库,怎么样?
- 16. 控制面板中未显示实时会话
- 17. 问题:控制会话超时
- 18. 一个会话应该在其他会话进入函数之前完成一个php函数,怎么样?
- 19. PHP - 用于临时控制的会话使用
- 20. 控制PHP会话超时,每次点击重置计数器
- 21. PHP会话:如果我将会话期限设置为10天,该怎么办?
- 22. 会话获取超时时弹簧控制器@SessionAttribute会发生什么
- 23. 我怎样才能得到实际控制器在后方法
- 24. 什么时候PHP会话结束?
- 25. php会话超时
- 26. php会话超时
- 27. PHP会话超时
- 28. PHP会话超时
- 29. PHP会话超时
- 30. WebBrowser控制会话共享?
每次用户在您的网站上进行交互时,都可以更新您的表格的时间,并将那些没有充当注销的用户更新。 – harrrrrrry 2015-01-26 20:07:29
你没有。您可以使用每隔* n *秒自动刷新一次的隐藏框架,使用“心跳”或其他方法生成图像或其他东西的ajax – 2015-01-26 20:07:59
会话在定义的超时(默认为24分钟)后自动失效。会话cookie也可以配置为当浏览器窗口关闭时而不是在上一次请求之后终止。 – Dai 2015-01-26 20:08:05