discuz论坛 用户登录 后台程序代码


Posted in PHP onNovember 27, 2008

还好,用户登录这里通过一个小小的方法可以实现和论坛同步了.可以不用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_pw\t$discuz_secques\t$discuz_uid", 'ENCODE'), $cookietime); 
$sessionexists = 0; 
updatesession();//更新论坛USERPASS数据 
echo "{'action':'ture'}";//这里是您要输出的数据 
print_r($_DSESSION); 
echo $discuz_userss; 
} 
?>
PHP 相关文章推荐
实时抓取YAHOO股票报价的代码
Oct 09 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
php变量范围介绍
Oct 15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
Eclipse的PHP插件PHPEclipse安装和使用
Jul 20 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
PHP获取MySQL执行sql语句的查询时间方法
Aug 21 PHP
php上传后台无法收到数据解决方法
Oct 28 PHP
php 移除数组重复元素的一点说明
Nov 27 #PHP
PHP 遍历XP文件夹下所有文件
Nov 27 #PHP
cmd下运行php脚本
Nov 25 #PHP
PHPMailer安装方法及简单实例
Nov 25 #PHP
php miniBB中文乱码问题解决方法
Nov 25 #PHP
php AJAX实例根据邮编自动完成地址信息
Nov 23 #PHP
php 删除无限级目录与文件代码共享
Nov 22 #PHP
You might like
PHP新手上路(七)
2006/10/09 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
jQuery validate插件功能与用法详解
2016/12/15 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
Python socket编程实例详解
2015/05/27 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
python二进制文件的转译详解
2019/07/03 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
网上卖盒饭创业计划书范文
2014/02/07 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
贷款担保申请书
2014/05/20 职场文书
社区工作者演讲稿
2014/05/23 职场文书
市场营销工作计划书
2014/09/15 职场文书
小学母亲节活动总结
2015/02/10 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书