
本站技术在2021年搭建了一个Chevereto图床PHP程序,目的为了方便会员发帖上传图片及分流本站流量使用,由于很长时间管理员没有登录忘记了登陆密码,默认的话有重置密码的功能,但是我们没有开启mail函数,所以发送不了邮件,下面我们给出强制登陆并修改密码的方法。
喜欢折腾会员,本站提供同款开心版程序下载:Chevereto_3.13.0一款非常简洁的个人图床PHP源码程序,适合图片上传程序 开心版
本教程采用登陆宝塔面板方式,直接修改PHP文件,来强制登陆/强制修改登陆密码的工作,请按下面的步骤操作。
强制登陆
登陆宝塔面板,点击左侧[文件]—–[对应的域名]—– [/app/routes/]目录当中找到route.login.php (大概第94行):
$is_login = CHV\Login::checkPassword($user_db[‘user_id’], $_POST[‘password’]);$is_login = CHV\Login::checkPassword($user_db[‘user_id’], $_POST[‘password’]);$is_login = CHV\Login::checkPassword($user_db[‘user_id’], $_POST[‘password’]);
修改为:
//$is_login = CHV\Login::checkPassword($user_db[‘user_id’], $_POST[‘password’]);$is_login = true;//$is_login = CHV\Login::checkPassword($user_db[‘user_id’], $_POST[‘password’]); $is_login = true;//$is_login = CHV\Login::checkPassword($user_db[‘user_id’], $_POST[‘password’]); $is_login = true;
这样前台登陆的时候,只需要用户名正确,密码随便填写即可登录。
重置密码
登陆宝塔面板,点击左侧[文件]—–[对应的域名]—– [/app/routes/]目录当中找到route.setttings.php:
case 'password':if(!$is_dashboard_user) {if($user['login']['password'] && !password_verify($_POST['current-password'], $user['login']['password']['secret'])) {$input_errors['current-password'] = _s('Wrong password');} else {if($_POST['current-password'] == $_POST['new-password']) {$input_errors['new-password'] = _s('Use a new password');$handler::updateVar('safe_post', ['current-password' => NULL]);}}}if(!preg_match('/'.CHV\getSetting('user_password_pattern').'/', $_POST['new-password'])) {$input_errors['new-password'] = _s('Invalid password');}if($_POST['new-password'] !== $_POST['new-password-confirm']) {$input_errors['new-password-confirm'] = _s("Passwords don't match");}break;case 'password': if(!$is_dashboard_user) { if($user['login']['password'] && !password_verify($_POST['current-password'], $user['login']['password']['secret'])) { $input_errors['current-password'] = _s('Wrong password'); } else { if($_POST['current-password'] == $_POST['new-password']) { $input_errors['new-password'] = _s('Use a new password'); $handler::updateVar('safe_post', ['current-password' => NULL]); } } } if(!preg_match('/'.CHV\getSetting('user_password_pattern').'/', $_POST['new-password'])) { $input_errors['new-password'] = _s('Invalid password'); } if($_POST['new-password'] !== $_POST['new-password-confirm']) { $input_errors['new-password-confirm'] = _s("Passwords don't match"); } break;case 'password': if(!$is_dashboard_user) { if($user['login']['password'] && !password_verify($_POST['current-password'], $user['login']['password']['secret'])) { $input_errors['current-password'] = _s('Wrong password'); } else { if($_POST['current-password'] == $_POST['new-password']) { $input_errors['new-password'] = _s('Use a new password'); $handler::updateVar('safe_post', ['current-password' => NULL]); } } } if(!preg_match('/'.CHV\getSetting('user_password_pattern').'/', $_POST['new-password'])) { $input_errors['new-password'] = _s('Invalid password'); } if($_POST['new-password'] !== $_POST['new-password-confirm']) { $input_errors['new-password-confirm'] = _s("Passwords don't match"); } break;
修改成:
case 'password':/******if(!$is_dashboard_user) {if($user['login']['password'] && !password_verify($_POST['current-password'], $user['login']['password']['secret'])) {$input_errors['current-password'] = _s('Wrong password');} else {if($_POST['current-password'] == $_POST['new-password']) {$input_errors['new-password'] = _s('Use a new password');$handler::updateVar('safe_post', ['current-password' => NULL]);}}}if(!preg_match('/'.CHV\getSetting('user_password_pattern').'/', $_POST['new-password'])) {$input_errors['new-password'] = _s('Invalid password');}if($_POST['new-password'] !== $_POST['new-password-confirm']) {$input_errors['new-password-confirm'] = _s("Passwords don't match");}******/break;case 'password': /****** if(!$is_dashboard_user) { if($user['login']['password'] && !password_verify($_POST['current-password'], $user['login']['password']['secret'])) { $input_errors['current-password'] = _s('Wrong password'); } else { if($_POST['current-password'] == $_POST['new-password']) { $input_errors['new-password'] = _s('Use a new password'); $handler::updateVar('safe_post', ['current-password' => NULL]); } } } if(!preg_match('/'.CHV\getSetting('user_password_pattern').'/', $_POST['new-password'])) { $input_errors['new-password'] = _s('Invalid password'); } if($_POST['new-password'] !== $_POST['new-password-confirm']) { $input_errors['new-password-confirm'] = _s("Passwords don't match"); } ******/ break;case 'password': /****** if(!$is_dashboard_user) { if($user['login']['password'] && !password_verify($_POST['current-password'], $user['login']['password']['secret'])) { $input_errors['current-password'] = _s('Wrong password'); } else { if($_POST['current-password'] == $_POST['new-password']) { $input_errors['new-password'] = _s('Use a new password'); $handler::updateVar('safe_post', ['current-password' => NULL]); } } } if(!preg_match('/'.CHV\getSetting('user_password_pattern').'/', $_POST['new-password'])) { $input_errors['new-password'] = _s('Invalid password'); } if($_POST['new-password'] !== $_POST['new-password-confirm']) { $input_errors['new-password-confirm'] = _s("Passwords don't match"); } ******/ break;
然后在后台修改密码,原始密码随便填,输入新密码即可。
备注:修改route.login.php 和route.setttings.php代码之前,请提前备份,密码修改完成后记得恢复原来的修改,否则就是直接留了后门给别人。
请登录后查看评论内容