diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 0657296..0914750 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -4,6 +4,7 @@ use Illuminate\Http\Request; use App\Models\User; +use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; @@ -80,7 +81,7 @@ public function profile() { return view('user.profile', ['user' => Auth::user()]); } - + // ========================================== // حذف حساب کاربری (Clickjacking Target) // ========================================== @@ -124,4 +125,19 @@ public function updateEmail(Request $request) 'new_email' => $user->email ]); } -} \ No newline at end of file + + public function resetDatabase() + { + try { + Artisan::call('migrate:fresh', ['--force' => true]); + + $this->setupLab(); + return back(); + } catch (\Exception $e) { + return response()->json([ + 'status' => 'error', + 'message' => 'خطا در پاک‌سازی دیتابیس: ' . $e->getMessage() + ], 500); + } + } +} diff --git a/resources/views/user/lab-directory.blade.php b/resources/views/user/lab-directory.blade.php index 2f31d48..e00d75a 100644 --- a/resources/views/user/lab-directory.blade.php +++ b/resources/views/user/lab-directory.blade.php @@ -13,9 +13,19 @@
-
+

Browser Security Lab

An interactive training ground to explore modern web vulnerabilities.

+ + +
+
+ @csrf + +
+
diff --git a/routes/web.php b/routes/web.php index 5d225ef..3f99146 100644 --- a/routes/web.php +++ b/routes/web.php @@ -123,6 +123,8 @@ ->group(function () { + Route::post('/labs/reset', [UserController::class, 'resetDatabase'])->name('user.labs.reset'); + Route::get('/profile-settings', function () { return view('user.css-profile'); })->name('user.css.profile');