Discuz!升级后找回密码提示参数错误解决的二种办法

方法一

找回密码功能,通过邮箱里的链接回跳,重新设置密码后提交会提示:“参数错误”;

解决方法如下:

打开
source\module\member\member_getpasswd.php
第32行找到
$uid = $_GET['uid'];
在下方添加一行
$sign = $_GET['sign'];
打开discuz模板文件:template\default\member\getpasswd.htm
找到第8行
   <form method="post" autocomplete="off" action="member.php?mod=getpasswd&uid=$uid&id=$hashid">
修改为:
   <form method="post" autocomplete="off" action="member.php?mod=getpasswd&uid=$uid&id=$hashid&sign=$sign">

方法二

直接替换member_getpasswd.php文件代码

<?php
/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: member_getpasswd.php 32853 2013-03-15 02:10:51Z liulanbo $
 */
if(!defined('IN_DISCUZ')) {
    exit('Access Denied');
}
define('NOROBOT', TRUE);
if($_GET['uid'] && $_GET['id']) {
    $discuz_action = 141;
    $member = getuserbyuid($_GET['uid'], 1);
    $table_ext = isset($member['_inarchive']) ? '_archive' : '';
    $member = array_merge(C::t('common_member_field_forum'.$table_ext)->fetch($_GET['uid']), $member);
    list($dateline, $operation, $idstring) = explode("\t", $member['authstr']);
    if($dateline < TIMESTAMP - 86400 * 3 || $operation != 1 || $idstring != $_GET['id']) {
        showmessage('getpasswd_illegal', NULL);
    }
    if(!submitcheck('getpwsubmit') || $_GET['newpasswd1'] != $_GET['newpasswd2']) {
        $hashid = $_GET['id'];
        $uid = $_GET['uid'];
        include template('member/getpasswd');
    } else {
        if($_GET['newpasswd1'] != addslashes($_GET['newpasswd1'])) {
            showmessage('profile_passwd_illegal');
        }
        if($_G['setting']['pwlength']) {
            if(strlen($_GET['newpasswd1']) < $_G['setting']['pwlength']) {
                showmessage('profile_password_tooshort', '', array('pwlength' => $_G['setting']['pwlength']));
            }
        }
        if($_G['setting']['strongpw']) {
            $strongpw_str = array();
            if(in_array(1, $_G['setting']['strongpw']) && !preg_match("/\d+/", $_GET['newpasswd1'])) {
                $strongpw_str[] = lang('member/template', 'strongpw_1');
            }
            if(in_array(2, $_G['setting']['strongpw']) && !preg_match("/[a-z]+/", $_GET['newpasswd1'])) {
                $strongpw_str[] = lang('member/template', 'strongpw_2');
            }
            if(in_array(3, $_G['setting']['strongpw']) && !preg_match("/[A-Z]+/", $_GET['newpasswd1'])) {
                $strongpw_str[] = lang('member/template', 'strongpw_3');
            }
            if(in_array(4, $_G['setting']['strongpw']) && !preg_match("/[^a-zA-z0-9]+/", $_GET['newpasswd1'])) {
                $strongpw_str[] = lang('member/template', 'strongpw_4');
            }
            if($strongpw_str) {
                showmessage(lang('member/template', 'password_weak').implode(',', $strongpw_str));
            }
        }
        loaducenter();
        uc_user_edit(addslashes($member['username']), $_GET['newpasswd1'], $_GET['newpasswd1'], addslashes($member['email']), 1, 0);
        $password = md5(random(10));
        if(isset($member['_inarchive'])) {
            C::t('common_member_archive')->move_to_master($member['uid']);
        }
        C::t('common_member')->update($_GET['uid'], array('password' => $password));
        C::t('common_member_field_forum')->update($_GET['uid'], array('authstr' => ''));
        showmessage('getpasswd_succeed', 'index.php', array(), array('login' => 1));
    }
} else {
    showmessage('parameters_error');
}
?>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索密码
, 文件
, 参数
, 链接
, 代码
错误
discuz找回管理员密码、discuz找回密码、discuz找回密码链接、discuz 找回密码功能、discuz用户找回密码,以便于您获取更多的相关知识。

时间: 2025-01-02 12:10:15

Discuz!升级后找回密码提示参数错误解决的二种办法的相关文章

ngx_lua_waf提示参数错误的问题解决

解决ngx_lua_waf总是提示参数错误的问题 最近服务上了ngx_lua_waf以防御攻击,但是ngx_lua_waf的参数确实有些严格,导致自己写文章都被BAN,于是看了看源码,发现可以添加url白名单功能,这不就搞定了! I. 确定URL 第一步要确定你要加入白名单的URL是什么,然后写一个通用正则试着匹配. II. 学习LUA 哈哈,骗你的,不需要学 III. 改脚本 日志路径 修改hack日志路径为/var/log/nginx/hack 修改代码 具体地址在这里init.lua li

操作磁盘时出现“虚拟磁盘管理器”窗口提示“参数错误”的解决方案

格式化卷或者压缩卷或修改盘符时出现"参数错误",如下图所示:   原因分析: 此现象一般是分区磁盘设置了虚拟内存,而正在操作的磁盘存在虚拟内存映像文件所致.可尝试关闭虚拟内存后重试. 解决方案: 1.右击桌面的小电脑("计算机"."此电脑"."这台电脑")图标,选择"属性",点击"高级",点击第一个"设置".或同时按下键盘的"windows"键和&

asp上传出错-win2008 服务器 无组件上传图片 小于100K提示参数错误

问题描述 win2008 服务器 无组件上传图片 小于100K提示参数错误 win2008 服务器 无组件上传图片 小于100K提示参数错误 程序本地测试没问题上传到服务器上就这个问题很纠结

Windows 10不能访问移动硬盘提示参数错误怎么办?

在电脑上拷贝数据的时候,需要使用到移动硬盘,有朋友在电脑上插入U盘等移动盘的时候,无法访问移动硬盘,会跳出窗口提示"参数错误",下面小编以Win10系统为例,给大家介绍下Win10电脑无法访问移动硬盘参数错误的解决方法. 解决方案: 1.按Windows+R输入"CHKDSK H: /F /R"(H:是硬盘所在盘符./R 找到不正确的扇区并恢复可读信息 /F 修复磁盘上的错误). 2.然后出现修复界面,按照自己的需要选择Y或N进行修复就可以了. 3.修复时间比较长,

C#向线程中传递多个参数的解决方法(两种)_C#教程

问题: 对于多线程编程,很多时候往往需要向线程中传递多个参数,而C#中的线程只接收1个object类型的参数(如下): Thread t = new Thread(new ParameterizedThreadStart(newthread)); t.start(参数); void newthread(object) { ............. } 而现在需要往线程中传递多个参数,比如method方法想用单独的线程来跑 void method(int begin,int end) { ...

win8系统修改硬盘盘符名称失败提示“参数错误”如何解决

  方法步骤如下: 1.硬盘连接电脑,打开所在盘符,提示"无法访问,参数错误"; 2.下载 DiskGenius 软件,在DiskGenius软件中可以看到硬盘信息; 3.在DiskGenius中的"文件浏览"中可以看到文件信息; 4.现在可以确定是硬盘存在坏道需要 对硬盘进行修复; 5.打开"运行"; 6.在里面输入"CHKDSK H: /F /R"(H:是硬盘所在盘符./R 找到不正确的扇区并恢复可读信息 /F 修复磁盘上

Win10机提示0xc0000428错误解决办法

1.有用户反馈开机提示 0xc0000428错误 然后会需要连续重启三次,才能进系统. 2. 我们进入到"高级启动"之后我们点击"疑难解答"然后在弹出窗口我们点击"高级选项-启动设置"效果如下所示. 3.接着我们在进入到"启动设置的界面"再点击"重启按钮"中选择中"禁用驱动程序强制签名"就可以了!

解决小米运动手环app升级后闪退提示很抱歉已停止运行问题

我们在手机桌面点击"设置"然后打开进入 效果如下所示 然后我们找到界面中"应用管理,"之后我们再找到 全部设置里去查找应用管理选项. 好了然后进入到手机的"应用管理"然后我们再找到"小米运动"之后点击"进入"效果如下 好了在打开进入到"小米运营管理"我们找到里面的"清除清除数据"之后再点击"清除缓存按钮":第一步要先清除缓存 第二步才清除数据 重启

win7系统打开U盘提示“参数错误”怎么办?

  具体方法如下: 1.将U盘与电脑连接,在电脑中可以看到U盘的盘符; 2.下载DiskGenius软件,在软件中可以看到电脑硬盘和U盘相关信息; 3.如果在软件中可以看到数据,将文件复制到电脑中即可.如果看不到U盘中的数据则需要对U盘进行扫描:选择U盘,然后点击"恢复文件"按钮; 4.按住Ctrl键,然后依次选择需要恢复的文件,右击鼠标并选"复制到指定文件夹".