Chevereto-free 免费版 忘记管理员密码 强制登陆 重置密码方法

我们很久之前搞了一个788图床,由于很长时间没有登录忘记了登陆密码,默认的话有重置密码的功能,但是我们没有开启mail函数,所以发送不了邮件,下面我们给出强制登陆并修改密码的方法。

[title]强制登陆[/title]

FTP登陆到站点,编辑文件 /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 = true;

这样前台登陆的时候,只需要用户名正确,密码随便填写即可登录。

登陆后记得恢复原来的修改。

[title]重置密码[/title]

使用FTP登陆,编辑文件?/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;

然后在后台修改密码,原始密码随便填,输入新密码即可。

修改密码后记得恢复原来的修改。


已发布

分类

作者:

标签

评论

《“Chevereto-free 免费版 忘记管理员密码 强制登陆 重置密码方法”》 有 11 条评论

  1. juran

    我在你的博客里面找到了这个,是这个么?https://www.jiloc.com/42868.html
    修改哪个配置文件?

  2. juran

    晕死,我无法看到全部的内容,连接 地址看不到,麻烦你能使用 正常邮件内容回复么,谢谢哈

  3. juran

    我看不到你回复的全部内容,能直接邮件么,只能看到 在配置文件里添加: # Image no…,另外你是指哪个配置文件?

    1. 这里有详细的配置方法及内容:https://chevereto.com/docs/requirements
      还不行的话可以加我们的群提问。

  4. juran

    服务器是Nginx

    1. 在配置文件里添加:
      # Image not found replacement
      location ~* (jpe?g|png|gif) {
      log_not_found off;
      error_page 404 /content/images/system/default/404.gif;
      }

      # CORS header (avoids font rendering issues)
      location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
      add_header Access-Control-Allow-Origin “*”;
      }

      # Pretty URLs
      location / {
      try_files $uri $uri/ /index.php?$query_string;
      }

  5. juran

    Rewrite设置了啊,原来的配置文件里也有RewriteEngine On,还有其他什么地方么

  6. juran

    使用你这样的方式仍然提示 请求被拒绝,您没有权限访问此网页或链接已过期.
    这个是什么问题啊?

    1. 应该是你的rewrite没有配置,请看官方文档:https://chevereto.com/docs/requirements

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注