关于DISCUZ不用通行证登陆得内容介绍第1/2页_php实例
关于DISCUZ不用通行证登陆得内容介绍
DISCUZ是中国最常用的论坛,虽然他本身有通行证给大家连接,但实际上用户的统一还是很不好,经常要建立两个用户表,第一不利于注册和管理,第二浪费数据库。
最近做一个项目也是使用的DISCUZ,所以研究了一下DISCUZ的登陆,基本完成了同步登陆。大家如果有兴趣可以研究一下。
别的不废话了,如果你自己写的系统,可以直接用DISCUZ的公用文件,直接引用include/common.inc.php就好了,这样最简单了,只要引用这个文件,$discuz_uid就是你的用户ID了,$discuz_user就是你的用户名,
如果你用的自己的公用文件,就要提取两个函数,在global.func.php中,有两个函数
Dsetcookie,和authcode,如果你不懒的话在复制一个函数clearcookies,第一个就是DISCUZ自己的建造COOKIE的函数,第二个是DISCUZ的可逆加密函数,第三个是清除COOKIE函数,我是放到我自己的FUNC.PHP文件中了
好了,咱们开始写建立和识别COOKIE的方法了
function lgoin($array)
{
$username = $array['username'];
$password = $array['password'];
$sql = "SELECT `uid`,`password`,`secques` FROM `cdb_members` WHERE
`username`='$username' and `password`=md5('$password')";
try {
$rs = $this -> _db -> query($sql);
}catch (Exception $e){
exit("查询出错,出错信息:".$e->getMessage());
return 0;
}
$row = $this -> _db -> fetch($rs); //查询登陆的用户名和密码是否正确
if($row){
dsetcookie('sid','',-2423234234); // 注销掉sid
$secques = $row['secques'];
$uid = $row['uid'];
$formPassword = $row['password'];
dsetcookie('auth', authcode("$formPassword\t$secques\t$uid", 'ENCODE','123'), '0');
return 1;
}else{
return 2;
}
}
这是一个登陆函数,废话不说了,直接说关键部分吧,在查询之后,当获得到信息后,(用户名和密码正确的话)我们获得3个信息,UID,PASSWORD,和SECQUES,这三个是DISCUZ建立COOKIE需要用的,第一个是用户ID,第二个是加密后的密码,第三个是加密后的回答问题答案(即使没有设置也要用),DISCUZ是需要提示问题和答案的,而我们登陆就不需要了,所以我这里直接把他查出来了。dsetcookie('auth', authcode("$formPassword\t$secques\t$uid", 'ENCODE','123'), '0');
这句就是建立用户的COOKIE,别的不用说了,请注意这句'123',这个地方一定要注意,这个是加密时设置的KEY,就是你这里需要和你DISCUZ的一样,所以有三个地方一定要统一,一个是global.func.php,一个是你自己复制出来的那个authcode函数,还有就是你在使用authcode的时候。这时候论坛应该可以登陆了,如果不能登陆,请看下面

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

怎么更改MicrosoftEdge浏览器打开是360导航的页面呢?其实很简单,那么现在小编就和大家一起分享关于更改MicrosoftEdge浏览器打开是360导航页面的方法,有需要的朋友可以来看看哦,希望可以帮助到大家。打开MicrosoftEdge浏览器。我们看到是下图这种页面。点击右上角的三点图标。点击“设置”。在设置页面的左侧栏里点击“启动时”。点击右侧栏里的图中示意的三点(不要能点击“打开新标签页”),然后点击编辑,将网址改成“0”(或其他无意义的数字)。然后点击“保存”。接下来,选择“

《探索Discuz:定义、功能及代码示例》随着互联网的迅猛发展,社区论坛已经成为人们获取信息、交流观点的重要平台。在众多的社区论坛系统中,Discuz作为国内较为知名的一种开源论坛软件,备受广大网站开发者和管理员的青睐。那么,什么是Discuz?它又有哪些功能,能为我们的网站提供怎样的帮助呢?本文将对Discuz进行详细介绍,并附上具体的代码示例,帮助读者更

Discuz用户必备!改名道具全面解析!在Discuz论坛中,改名功能一直备受用户关注和需求。对于一些需要改名的用户来说,通过改名道具可以轻松实现用户名的修改,而且这也是一种有趣的互动方式。下面就让我们深入探讨一下Discuz中的改名道具,包括如何获取、如何使用以及一些常见问题的解决方法。1.获取改名道具在Discuz中,改名道具通常是通过积分购买或者管理员

CheatEngine是一款游戏编辑器,能够对游戏的内存进行编辑修改。但是它的默认语言是非中文的,对于很多小伙伴来说比较不方便,那么CheatEngine怎么设置中文呢?今天小编就给大家详细介绍一下CheatEngine设置中文的方法,希望可以帮助到你。 设置方法一 1、双击打开软件,点击左上角的“edit”。 2、接着点击下方选项列表中的“settings”。 3、在打开的窗口界面中,点击左侧栏中的“languages”

大家知道MicrosoftEdge在哪设置显示下载按钮吗?下文小编就带来了MicrosoftEdge设置显示下载按钮的方法,希望对大家能够有所帮助,一起跟着小编来学习一下吧!第一步:首先打开MicrosoftEdge浏览器,单击右上角【...】标识,如下图所示。第二步:然后在弹出菜单中,单击【设置】,如下图所示。第三步:接着单击界面左侧【外观】,如下图所示。第四步:最后单击【显示下载按钮】右侧按钮,由灰变蓝即可,如下图所示。上面就是小编为大家带来的MicrosoftEdge在哪设置显示下载按钮的

Discuz域名修改步骤详解,需要具体代码示例随着网站的发展和运营,有时候我们需要对Discuz论坛的域名进行修改,可能是因为更换品牌、优化网站SEO,或者其他一些原因。无论是因为什么原因,修改Discuz域名都是一个需要谨慎操作的过程,今天我们就来详细介绍修改Discuz域名的步骤,并提供具体的代码示例。步骤一:备份数据在进行域名修改之前,首先要确保对网站

《Discuz注册流程详解:让您轻松修改个人信息,需要具体代码示例》Discuz是一款功能强大的社区论坛程序,被广泛应用于各类网站,在用户注册和个人信息修改方面,提供了丰富的功能和接口。本文将为您详细介绍Discuz的注册流程,并提供具体的代码示例,帮助您轻松定制和修改个人信息。一、用户注册流程在Discuz中,用户注册是站点的重要功能之一,注册流程的顺畅与

标题:解决Discuz微信分享无法显示的问题,需要具体代码示例随着移动互联网的发展,微信成为了人们日常生活中不可或缺的一部分。在网站开发中,为了提升用户体验和扩大网站的曝光度,很多站点会集成微信分享功能,让用户能够方便地分享网站的内容到朋友圈或者微信群中。然而,有时候在使用Discuz等开源论坛系统时,会遇到微信分享无法显示的问题,这给用户体验带来了一定的困
