From 41fa2c39747ff13a43841c3f4d629bbcecadbc04 Mon Sep 17 00:00:00 2001 From: mcoder Date: Tue, 14 Apr 2026 20:49:02 +0330 Subject: [PATCH] Add --- app/Http/Controllers/UserController.php | 17 +++++++++++++++++ resources/views/user/profile.blade.php | 18 +++++++++++++++++- routes/web.php | 3 +++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index ac6feaf..0657296 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -80,6 +80,23 @@ public function profile() { return view('user.profile', ['user' => Auth::user()]); } + + // ========================================== + // حذف حساب کاربری (Clickjacking Target) + // ========================================== + public function destroy(Request $request) + { + $user = $request->user(); + + Auth::logout(); + + $user->delete(); + + $request->session()->invalidate(); + $request->session()->regenerateToken(); + + return redirect('/login'); + } // ========================================== // متد آسیب‌پذیر تغییر ایمیل (CSRF Target) diff --git a/resources/views/user/profile.blade.php b/resources/views/user/profile.blade.php index 022ec37..30d3c41 100644 --- a/resources/views/user/profile.blade.php +++ b/resources/views/user/profile.blade.php @@ -32,7 +32,7 @@

اطلاعات هویتی شما در این پورتال امن نگهداری می‌شود.

-
+

اطلاعات حساب

احراز هویت شده @@ -54,6 +54,22 @@
+ + +
+
+

حذف حساب کاربری

+
+
+

با حذف حساب کاربری، تمام اطلاعات شما به صورت دائمی پاک خواهد شد. این عمل غیرقابل بازگشت است.

+
+ @csrf + +
+
+
diff --git a/routes/web.php b/routes/web.php index 45b2db4..1f31684 100644 --- a/routes/web.php +++ b/routes/web.php @@ -55,6 +55,9 @@ // پروفایل کاربر Route::get('/profile', [UserController::class, 'profile'])->name('user.profile'); + + // حذف حساب کاربری (Clickjacking Target) + Route::post('/profile/delete', [UserController::class, 'destroy'])->name('profile.destroy'); // 🔓 هدف حمله CSRF (پروتکشن لایه کد کاملاً حذف شده است) Route::post('/update-email', [UserController::class, 'updateEmail'])