Discuz! X3.1登录分析

其实跟Discuz! X3没什么变化。这里再来走一遍:

版本:Discuz!X3.1


index.php

is_numeric()检测变量是否为数字或数字字符串,返回 TRUE,否则返回 FALSE



$_ENV存储了一些系统的环境变量,因环境不同而值不同。

$_SERVER包含服务器和执行环境的一些信息,不同的服务器包含的内容可能有差异。


登录流程分析:

member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yesb

member.php

source/module/member/member_logging.php

source/class/class_member.php中的on_login()方法

source/function/function_member.php中的userlogin()方法

uc_client/client.php中的uc_user_login()方法

uc_lient/control/user.php中的onlogin()方法

onlogin()方法前面的on,是在uc_client/client.php101$action = 'on'.$action;加上,目前不知道什么作用,前缀?)

Uc_client/model/user.php中的get_user_by_username()方法


依次向下:

wKiom1LY7O6TVWZ9AAdW3mOkJ9w126.jpg

wKioL1LY7OGT3JjxAAbzHGapVV4385.jpg

wKiom1LY7O-iZnfpAAICBEQmbQo821.jpg

wKioL1LY7OKwoTUwAAVWrzZwU7k386.jpg


注意 最后一个user.php文件,登录验证关键。