<?php
session_start();
define('NOROBOT', TRUE);
define('CURSCRIPT', 'logging');
require_once
'./
include
/common.inc.php';
require_once
DISCUZ_ROOT.'./
include
/misc.func.php';
if
(
$action
== 'login') {
$field
=
$loginfield
== 'uid' ? 'uid' : 'username';
$seccodecheck
=
substr
(sprintf('%05b',
$seccodestatus
), -2, 1);
if
(
$seccodecheck
&&
$seccodedata
['loginfailedcount']) {
$seccodecheck
=
$db
->result(
$db
->query(
"SELECT count(*) FROM {$tablepre}failedlogins WHERE ip='$onlineip' AND count>='$seccodedata[loginfailedcount]' AND $timestamp-lastupdate<=900"
), 0);
}
$discuz_uid
= 0;
$discuz_user
=
$discuz_pw
=
$discuz_secques
=
$md5_password
= '';
$member
=
array
();
$loginperm
= logincheck();
if
(!
$loginperm
) {
showmessage('login_strike');
}
$secques
= quescrypt(
$questionid
,
$answer
);
if
(isset(
$loginauth
)) {
$field
= 'username';
$password
= 'VERIFIED';
list(
$username
,
$md5_password
) = daddslashes(
explode
(
"\t"
, authcode(
$loginauth
, 'DECODE')), 1);
}
else
{
$md5_password
= md5(
$password
);
$password
= preg_replace(
"/^(.{"
.
round
(
strlen
(
$password
) / 4).
"})(.+?)(.{"
.
round
(
strlen
(
$password
) / 6).
"})$/s"
,
"\\1***\\3"
,
$password
);
}
$query
=
$db
->query("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
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.
$field
='
$username
'");
$member
=
$db
->fetch_array(
$query
);
if
(
$member
['password']!=
$md5_password
){
echo
"您输入的用户名或密码错误!"
;
exit
();
}
extract(
$member
);
$discuz_userss
=
$discuz_user
;
$discuz_user
=
addslashes
(
$discuz_user
);
if
((
$allowinvisible
&&
$loginmode
== 'invisible') ||
$loginmode
== 'normal') {
$db
->query(
"UPDATE {$tablepre}members SET invisible='"
.(
$loginmode
== 'invisible' ? 1 : 0).
"' WHERE uid='$member[discuz_uid]'"
, 'UNBUFFERED');
}
$styleid
=
intval
(
empty
(
$_POST
['styleid']) ? (
$styleidmem
?
$styleidmem
:
$_DCACHE
['settings']['styleid']) :
$_POST
['styleid']);
$cookietime
=
intval
(isset(
$_POST
['cookietime']) ?
$_POST
['cookietime'] :
(
$_DCOOKIE
['cookietime'] ?
$_DCOOKIE
['cookietime'] : 0));
dsetcookie('cookietime',
$cookietime
, 31536000);
dsetcookie('auth', authcode(
"$discuz_pw\t$discuz_secques\t$discuz_uid"
, 'ENCODE'),
$cookietime
);
$sessionexists
= 0;
updatesession();
echo
"{'action':'ture'}"
;
print_r(
$_DSESSION
);
echo
$discuz_userss
;
}
?>