您现在的位置是:首页 > cms教程 > discuz教程discuz教程
Discuz!X1.5登录机制分析
章学共2025-06-28 21:52:41discuz教程已有3人查阅
导读最近需要研究一下Discuz的整个系统 的架构!发现Discuz验证用户是否在线的机制 非常有趣, 这里到时难住了我一个之前没怎么接触过Web系统的,唉,搞了半天才发现
最近需要研究一下Discuz的整个系统 的架构!发现Discuz验证用户是否在线的机制 非常有趣, 这里到时难住了我一个之前没怎么接触过Web系统的,唉,搞了半天才发现,Discuz!X 的判断是否在线的机制,不是跟我们普通想象的在数据库中又一个标志位来标识是否在线。
Discuz在数据库中是没有这个标志位的,只有在pre_common_onlinetime和pre_forum_onlinelist中提到在线相关的,不过pre_common_onlinetime是记录每个用户(UID)在线的总时间的,(据说:这个记录在线总时间的方法就是,每十分钟记录一次在线时间,然后累加在这张表中,不过这个任务我一直没有发现,这个好像是NT版本的 不知道PHP是不是也这样)
还有一张表 pre_forum_onlinelist 用来记录当前在线成员列表的,不过这个列表不是当前在线的成员,而是title
Discuz 判断登录是通过Cookie来判断的,我做过实验,如果我把一位已经登录的用户的SID从session表中删除,然后在刷新刚才已经登录的页面,此时这个用户还是在线的状态,从这里可以判断出,不是通过session表中的数据来判断的,当然我也没发现其它的标志是否在线的表。
说明:Discuz 的Cookie 和 server的session 是分开的,相对独立的。由于第一次接触Web系统,所以还有很多需要学习的!
Discuz在数据库中是没有这个标志位的,只有在pre_common_onlinetime和pre_forum_onlinelist中提到在线相关的,不过pre_common_onlinetime是记录每个用户(UID)在线的总时间的,(据说:这个记录在线总时间的方法就是,每十分钟记录一次在线时间,然后累加在这张表中,不过这个任务我一直没有发现,这个好像是NT版本的 不知道PHP是不是也这样)
还有一张表 pre_forum_onlinelist 用来记录当前在线成员列表的,不过这个列表不是当前在线的成员,而是title
Discuz 判断登录是通过Cookie来判断的,我做过实验,如果我把一位已经登录的用户的SID从session表中删除,然后在刷新刚才已经登录的页面,此时这个用户还是在线的状态,从这里可以判断出,不是通过session表中的数据来判断的,当然我也没发现其它的标志是否在线的表。
说明:Discuz 的Cookie 和 server的session 是分开的,相对独立的。由于第一次接触Web系统,所以还有很多需要学习的!
本文标签:
很赞哦! (1)
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
Linux搭建Discuz论坛的步骤方法
linux中怎么搭建discuz论坛?下面本篇文章给大家介绍一下linux中搭建discuz论坛的方法。有 的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。Discuz论坛注册过程和账号设置基本用法介绍
在discuz论坛上注册和设置账号的步骤如下:1.访问论坛主页,点击注册按钮。2.填写注册表单,包括用户名、密码和邮箱地址。3.完成注册后,登录账号。Discuz实现主题标题和正文同时显示的方法
本文实现功能:将主题标题和主题内容同时显示出来,如想直接看项目实现结果,可直接看解决问题的那个标题下的内容DiscuzX插件开发手册
文件命名规范Discuz! 按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范:可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名。
留言与评论 (共有 0 条评论) |