discuz论坛 用户登录 后台程序代码_php教程-查字典教程网
discuz论坛 用户登录 后台程序代码
discuz论坛 用户登录 后台程序代码
发布时间:2016-12-29 来源:查字典编辑
摘要:还好,用户登录这里通过一个小小的方法可以实现和论坛同步了.可以不用passport接口.这是我整理的数据,仅供参考.登录传两值过来就行(us...

还好,用户登录这里通过一个小小的方法可以实现和论坛同步了.可以不用passport接口.

这是我整理的数据,仅供参考.

登录传两值过来就行(username和password);

复制代码 代码如下:

<?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';

//get secure code checking status (pos. -2)

$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_pwt$discuz_secquest$discuz_uid", 'ENCODE'), $cookietime);

$sessionexists = 0;

updatesession();//更新论坛USERPASS数据

echo "{'action':'ture'}";//这里是您要输出的数据

print_r($_DSESSION);

echo $discuz_userss;

}

?>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新php教程学习
    热门php教程学习
    编程开发子分类