DISCUZ——后台管理密码ko方案
来源:互联网 发布:java spliterator 编辑:程序博客网 时间:2024/06/04 18:43
一、Discuz!的管理员(用户)密码存在哪里?
要想修改或找回密码,我们要明白他的密码存在哪里。自从UCenter诞生以来,所有要通过它实现数据同步的产品(如:Discuz!UCHome,SS等等),用户信息都存在了UCenter的数据库里的_members表中,而非产品自身的数据库里。拿DZ来说,在DZ的数据库中同样有_members表(pre_ucenter_members),同样会有密码字段,但实际上,存在DZ数据库里的密码是一组随机产生的数字,经过MD5加密后存入的。在注册时用户输入的密码及相关信息都是通过UC的接口 uc_user_register 传递到UCenter下进行操作的。 同样,在用户登录的时候也是通过UC提供的接口来传递数据的,经过UC的处理级验证,将信息返回给应用端(Discuz!)。
PS:1、register.php 注册处理文件。大约在206行处调用了uc_user_register 接口,注册成功返回用户的uid。
2、uc_user_register 接口函数是在文件 uc_client/client.php 文件下定义的。
二、修改密码
先来了解一下加密方式。如下代码(UC下module/user.php 大约在107行处):
$salt = substr(uniqid(rand()), -6);
$password = md5(md5($password).$salt);
$salt是一个根据当时的时间戳产生的一个不重复的随机码(uniqid函数),并用substr进行截取的字符串,这就是数据库中 _members表里'salt'字段存的值。
加密的过程就是先将用户的密码md5加密,再与生成的$salt字符串拼接,最后再用一次md5加密才能生成存在UC下,真正的用户密码。
了解到此,对于修改管理员(用户)密码应该有了一个大概的思路。所以,接下来就是修改密码的时刻。
1、在服务器上新建一个 PHP 脚本文件。
2、复制UC数据库里 _members 表里admin记录的'salt'值赋值给变量$salt。
3、定义$password变量,赋值为新密码。
4、将使用$password = md5(md5($password).$salt);再次加密后的值,覆盖原来password的值即可。
- DISCUZ——后台管理密码ko方案
- discuz后台权限管理
- discuz后台管理模块添加
- discuz后台管理模块添加
- Discuz后台使用之风格管理
- DISCUZ 管理后台页面开发实例
- discuz后台管理增加新导航/新单页
- DISCUZ 管理后台页面开发实例
- 建立discuz后台管理页面的模板
- 有discuz数据库,忘了管理员密码,怎样进后台
- Discuz!后台密码穷举工具 无视IP验证
- Discuz x2 直接爆出管理用户和密码
- prestashop后台管理密码的更改
- Phpcms V9管理后台密码重置
- ActiveMQ管理后台以及消费者密码设置
- tomcat设置后台管理用户名和密码
- Serv-U管理密码破解方案?
- 后台开发__如何在Discuz!X建立属于自己的后台管理页
- linux下解压命令大全
- Linux学习--SSH客户端
- ecshop限制foreach循环的代码
- BI 商业智能理解结构图
- PHP.ini方式防注或挂马
- DISCUZ——后台管理密码ko方案
- 【HDU 4897 多校联合】Little Devil I【树链刨分】
- mysql 密码重置
- LeetCode OJ算法题(四十一):Trapping Rain Water
- 解读浮动闭合最佳方案:clearfix
- WINDOWS下APACHE配置二级域名
- 东莞娱乐场所七成复业 涉黄违法犯罪抬头
- ECSHOP显示商品重量问题
- 国密算法SM2证书制作