Skip to content

Commit 6673f36

Browse files
author
Ostap34PHP
committed
Fixes the vulnerability associated with the ability to control the tasks of another user
1 parent 890e715 commit 6673f36

File tree

1 file changed

+29
-19
lines changed

1 file changed

+29
-19
lines changed

app/Http/Controllers/TaskController.php

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ public function store(Request $request)
6161
*/
6262
public function show(Task $task)
6363
{
64-
return view('tasks.show')->with('task', $task);
64+
if($task->user_id == Auth::id()){
65+
return view('tasks.show')->with('task', $task);
66+
}
6567
}
6668

6769
/**
@@ -72,7 +74,9 @@ public function show(Task $task)
7274
*/
7375
public function edit(Task $task)
7476
{
75-
return view('tasks.edit')->with('task', $task);
77+
if($task->user_id == Auth::id()){
78+
return view('tasks.edit')->with('task', $task);
79+
}
7680
}
7781

7882
/**
@@ -85,15 +89,17 @@ public function edit(Task $task)
8589
public function update($id, Request $request)
8690
{
8791
$task = new Task;
88-
$data = $this->validate(request(), [
89-
'name' => 'required|max:150;',
90-
'description' => ''
91-
]);
92+
if($task->user_id == Auth::id()){
93+
$data = $this->validate(request(), [
94+
'name' => 'required|max:150;',
95+
'description' => ''
96+
]);
9297

93-
$data['id'] = $id;
94-
$task->updateTask($data);
95-
96-
return back()->with('success', 'task has been updated');
98+
$data['id'] = $id;
99+
100+
$task->updateTask($data);
101+
return back()->with('success', 'task has been updated');
102+
}
97103
}
98104

99105
/**
@@ -105,9 +111,11 @@ public function update($id, Request $request)
105111
public function destroy($id)
106112
{
107113
$task = Task::find($id);
108-
$task->delete();
114+
if($task->user_id == Auth::id()){
115+
$task->delete();
109116

110-
return redirect('/tasks')->with('success', 'Task has been deleted!!');
117+
return redirect('/tasks')->with('success', 'Task has been deleted!!');
118+
}
111119
}
112120

113121
/**
@@ -119,13 +127,15 @@ public function destroy($id)
119127
public function complete($id)
120128
{
121129
$task = Task::find($id);
122-
if(!$task->complete){
123-
$task->complete = true;
124-
}else{
125-
$task->complete = false;
126-
}
127-
$task->save();
130+
if($task->user_id == Auth::id()){
131+
if(!$task->complete){
132+
$task->complete = true;
133+
}else{
134+
$task->complete = false;
135+
}
136+
$task->save();
128137

129-
return redirect('/tasks')->with('success', 'Task has been completed!');
138+
return redirect('/tasks')->with('success', 'Task has been completed!');
139+
}
130140
}
131141
}

0 commit comments

Comments
 (0)