discuz论坛的用户登陆源码问题

yybjroam05 2009-11-03 03:59:41
我在看discuz论坛的源码中过程中,发现用户登陆后,他的用户名称是存在sessions表里,在输出用户名称时用的是$discuz_user变量来出的!但是我没找到这个变量在哪个地方被初始化和赋值的,我用Dw搜索全部代码也没发现,望哪位给我说说。
...全文
191 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
codeworker999 2009-11-04
  • 打赏
  • 举报
回复
在 include/common.inc.php 初始化数据的时候有的
codeworker999 2009-11-04
  • 打赏
  • 举报
回复
从数据库里取的啊

从数据库中取 m.username AS discuz_user,

存入->$_DSESSION


最后导入符号表 @extract($_DSESSION);
defaultError 2009-11-04
  • 打赏
  • 举报
回复
在discuz代码根目录logging.php文件中:

可以看看这一段:

$discuz_user = $discuz_pw = $discuz_secques = '';
$member = array();

if($ucresult['uid'] > 0) {

$member = $db->fetch_first("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
m.email, m.adminid, m.groupid, m.styleid AS styleidmem, m.lastvisit, m.lastpost, u.allowinvisible
FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u USING (groupid)
WHERE m.uid='$ucresult[uid]'");

if(!$member) {
$ucresult['username'] = addslashes($ucresult['username']);
$auth = authcode("$ucresult[username]\t".FORMHASH."\t$ucresult[uid]", 'ENCODE');//ZRQ_01 这里添加一个参数UID
if($inajax) {
$message = 2;
$location = $regname.'?action=activation&auth='.rawurlencode($auth);
include template('login');
} else {
showmessage('login_activation', $regname.'?action=activation&auth='.rawurlencode($auth));
}
}

extract($member);

$discuz_userss = $discuz_user;
$discuz_user = addslashes($discuz_user);


关键的地方都改成了红色!

把从数据库查询出来的$member数组变量,通过extract($member)(重点了解下这个函数)注入到环境中,
key值discuz_user就成了环境变量($discuz_user),值就是m.username。
sciolist 2009-11-03
  • 打赏
  • 举报
回复
放到谷歌里面找下 :

$discuz_user site:discuzdeveloper.googlecode.com/svn/trunk/Discuz!
Siramizu 2009-11-03
  • 打赏
  • 举报
回复
印象中是extract($_DSESSION)来的,common.inc.php,很久没看过它的代码
yybjroam05 2009-11-03
  • 打赏
  • 举报
回复
不明白,我输用所有的cookie也没有,另外还输出了它的一些系统数组也还是没有。
llj480028 2009-11-03
  • 打赏
  • 举报
回复
好像在cookiej里吧!
wzwen 2009-11-03
  • 打赏
  • 举报
回复
sessions和cookie共用吧

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧