Laravel站点如何获取后台管理面板(/admin/login)的管理员权限?
解决Laravel站点管理员密码重置问题
背景说明
你看到的$2a$12$/$2a$10$前缀是bcrypt加密算法的标识,这是Laravel默认的密码哈希方式,直接用Password('newpassword')生成的字符串无法匹配,必须用Laravel官方的哈希生成方法。
可行解决方案
方法1:临时PHP脚本生成哈希并更新数据库
- 用FTP工具在站点根目录创建
reset_password.php文件,写入以下代码:<?php require __DIR__.'/vendor/autoload.php'; use Illuminate\Support\Facades\Hash; $newPassword = '你的新密码'; $hashedPassword = Hash::make($newPassword); echo "生成的哈希密码:" . $hashedPassword; ?> - 浏览器访问
http://你的站点域名/reset_password.php,复制页面显示的哈希字符串 - 登录MariaDB管理工具,执行SQL语句更新管理员密码:
UPDATE users SET password = '复制的哈希字符串' WHERE id = 1; -- 若不确定id,可改用email筛选,比如WHERE email = 'admin@xxx.com' - 立刻通过FTP删除
reset_password.php文件,避免安全隐患
方法2:主机面板终端执行Artisan命令(若支持)
- 登录主机面板的终端/SSH功能,进入站点根目录
- 依次执行以下命令:
php artisan tinker Hash::make('你的新密码') - 复制输出的哈希值,执行方法1中的SQL更新语句完成密码修改
- 输入
exit退出tinker环境
注意事项
- 务必确认修改的是管理员用户的记录,避免误改普通用户密码
- 操作完成后及时清理临时文件/退出终端,保障站点安全
- 测试新密码能否正常登录
/admin/login后台
内容的提问来源于stack exchange,提问作者Raf
相关产品推荐
相关产品推荐

