phpcms 的问题。请高手帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/30 10:31:16
具体好像是用来判断用户是否登录的。可我看不懂里面的细节。有人能给我讲讲不?

$phpcms_auth = get_cookie('auth');
if($phpcms_auth)
{
$auth_key = md5(AUTH_KEY.$_SERVER['HTTP_USER_AGENT']);
list($_userid, $_password) = explode("\t", phpcms_auth($phpcms_auth, 'DECODE', $auth_key));
$_userid = intval($_userid);
$sql_member = "SELECT * FROM `".DB_PRE."member_cache` WHERE `userid`=$_userid";
$r = $db->get_one($sql_member);
if(!$r && cache_member())
{
$r = $db->get_one($sql_member);
}
if($r && $r['password'] === $_password)
{
if($r['groupid'] == 2)
{
set_cookie('auth', '');
showmessage($LANG['userid_banned_by_administrator']);
}
@extract($r, EXTR_PREFIX_ALL, '');
}
else
{
$_userid = 0;
$_username = '';
$_groupid = 3;
set_cookie('auth

你哪里不明白?呵呵
------------------------------------------
1.$auth_key = md5(AUTH_KEY.$_SERVER['HTTP_USER_AGENT']);
AUTH_KEY是系统预定义的一个常量,后面的也是,这样做的目的是防止被别人md5反向破解,如果在不知道这个两个加密原文串的情况下,很难反向破解
2.另一处,主要是根据传入的$operation来决定$txt出来的形式,呵呵,也就是,如果$operation='DECODE'就需要用base64_encode处理,
不好意思,没有详细的看