一顿操作猛如虎,一看结果250,必须记录,必须记录,!今天弄了很久关于我们2023年的产品系统蜻蜓T会议系统专业版,然后终于搞好了密码也重置了,发现莫名403 forbidden,真是佛了,于是卓伊凡继续找原因
由于此前时间太久小伙伴也忘记当时的处理方法了,不过等我最终处理下来恍然大悟,必须记录
当年主程也忘了
遇到的 403 Forbidden 错误通常是由于安全机制阻止了登录请求。以下是系统化的解决方案:
X-Csrf-Token
,但可能不匹配XSRF-TOKEN
cookie 与 X-Csrf-Token
头是否同步team_session
cookie 可能无效.youyacao.com
设置)清除缓存
// app/Http/Middleware/VerifyCsrfToken.php
protected $except = [
// 临时测试可添加(生产环境不建议)
// 'admin/auth/login'
];
前端修正方案:
// 确保 AJAX 请求携带正确的 CSRF 令牌
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
// config/session.php
'domain' => '.youyacao.com', // 确保前面有点号
'secure' => true, // HTTPS 必须
'same_site' => 'lax',
临时修改认证中间件:
// app/Http/Middleware/Authenticate.php
public function handle($request, Closure $next, ...$guards)
{
// 临时注释认证检查
// if (auth()->guard('admin')->check()) {
// return $next($request);
// }
return $next($request);
}
INSERT INTO admin_users
(username, password, name, created_at, updated_at)
VALUES
('emergency', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Emergency', NOW(), NOW());
php artisan tinker
DB::table('admin_users')->insert([
'username' => 'emergency',
'password' => bcrypt('your_password'),
'name' => 'Emergency Admin'
]);
php artisan make:seeder EmergencyAdminSeeder
// database/seeders/EmergencyAdminSeeder.php
public function run()
{
\App\Models\AdminUser::create([
'username' => 'emergency',
'password' => bcrypt('safe_password'),
'name' => 'Emergency Access'
]);
}
运行:
php artisan db:seed --class=EmergencyAdminSeeder
如果是 Dcat Admin:
# 1. 清除缓存
php artisan admin:menu-cache --clear
# 2. 重置密码
php artisan admin:reset-password your@email.com
# 3. 或创建新用户
php artisan tinker
\Dcat\Admin\Models\Administrator::create([
'username' => 'newadmin',
'password' => bcrypt('newpassword'),
'name' => 'New Admin'
]);
tail -f storage/logs/laravel.log
php artisan route:list | grep login
// app/Providers/AppServiceProvider.php
public function boot()
{
\Illuminate\Support\Facades\URL::forceScheme('https');
// 临时关闭验证
// \Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::except(['admin/auth/login']);
}
// routes/web.php
Route::get('/emergency-login', function() {
auth()->guard('admin')->loginUsingId(1);
return redirect('/admin');
})->middleware(['throttle:3,1440']); // 24小时内限3次访问
# 每月检查管理员账户
php artisan schedule:run
一顿操作,结果 是这个 防火墙的问题,宝塔 的
简直 头皮发麻
然后
终于成功登陆
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。