Discuz3.2源码解析 首页(index.php)

2024-10-14 09:07:23

根目录下index.php 是整个系统的默认首页,以此文件入手,跟整个系统的运行流程是一致了,也方便分析整个系统的处理流程。

index.php的前几行代码(如下图),可以看出,先判断是url中是否有请求的字符串。如果有且是数字则是把当前模块默认为用户空间页面,请求的字符串为uid。

Discuz3.2源码解析 首页(index.php)

这样通过此方法,貌似可以抓取用户信息和探测用户及用户数了。

如果index.php后面没有请求字符串或者请求参数不是纯数字,则要根据请求参数和系统设置,判断如果处理该请求了,当然了,如果发生任何的意外,系统都将转向forum.php,毕竟这个系统以论坛系统为核心的,这个默认处理的路径很简单,如下图:

Discuz3.2源码解析 首页(index.php)感觉应该很简单的逻辑,代码形式上却比较复杂,这应该是Discuz的通病,从很早的系统上继承而来,重构力度不够,导致代码结构越来越糟。

这里对HTTP_HOST的处理上面上,有明显的逻辑错误,在一些特别的host下,应该是要失效的。index.php里面业务处理不多,就分析到这里吧,不过多浪费时间了。

猜你喜欢