Skip to content

Commit f671046

Browse files
committed
admin: tweaks to validation and rendering
1 parent 319ca68 commit f671046

File tree

10 files changed

+11
-11
lines changed

10 files changed

+11
-11
lines changed

app/Http/Controllers/Admin/Nests/EggVariableController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public function update(EggVariableFormRequest $request, Egg $egg, EggVariable $v
6969
{
7070
$this->updateService->handle($variable, $request->normalize());
7171
$this->alert->success(trans('admin/nests.variables.notices.variable_updated', [
72-
'variable' => $variable->name,
72+
'variable' => htmlspecialchars($variable->name),
7373
]))->flash();
7474

7575
return redirect()->route('admin.nests.egg.variables', $egg->id);
@@ -82,7 +82,7 @@ public function destroy(int $egg, EggVariable $variable): RedirectResponse
8282
{
8383
$this->variableRepository->delete($variable->id);
8484
$this->alert->success(trans('admin/nests.variables.notices.variable_deleted', [
85-
'variable' => $variable->name,
85+
'variable' => htmlspecialchars($variable->name),
8686
]))->flash();
8787

8888
return redirect()->route('admin.nests.egg.variables', $egg);

app/Http/Controllers/Admin/Nests/NestController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public function create(): View
5656
public function store(StoreNestFormRequest $request): RedirectResponse
5757
{
5858
$nest = $this->nestCreationService->handle($request->normalize());
59-
$this->alert->success(trans('admin/nests.notices.created', ['name' => $nest->name]))->flash();
59+
$this->alert->success(trans('admin/nests.notices.created', ['name' => htmlspecialchars($nest->name)]))->flash();
6060

6161
return redirect()->route('admin.nests.view', $nest->id);
6262
}

app/Http/Controllers/Admin/NodesController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public function allocationRemoveBlock(Request $request, int $node): RedirectResp
131131
['ip', '=', $request->input('ip')],
132132
]);
133133

134-
$this->alert->success(trans('admin/node.notices.unallocated_deleted', ['ip' => $request->input('ip')]))
134+
$this->alert->success(trans('admin/node.notices.unallocated_deleted', ['ip' => htmlspecialchars($request->input('ip'))]))
135135
->flash();
136136

137137
return redirect()->route('admin.nodes.view.allocation', $node);

app/Http/Requests/Admin/Egg/EggFormRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public function rules(): array
1111
$rules = [
1212
'name' => 'required|string|max:191',
1313
'description' => 'nullable|string',
14-
'docker_images' => ['required', 'string', 'max:191', 'regex:/^([a-zA-Z0-9 .#_\/\-]*)(\|*)([a-zA-Z0-9 .\/:@]*)$/'],
14+
'docker_images' => ['required', 'string', 'regex:/^[\w#\.\/\- ]*\|*[\w\.\/\-:@ ]*$/im'],
1515
'force_outgoing_ip' => 'sometimes|boolean',
1616
'file_denylist' => 'array',
1717
'startup' => 'required|string',

app/Http/Requests/Admin/Nest/StoreNestFormRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class StoreNestFormRequest extends AdminFormRequest
99
public function rules(): array
1010
{
1111
return [
12-
'name' => 'required|string|min:1|max:191',
12+
'name' => 'required|string|min:1|max:191|regex:/^[\w\- ]+$/',
1313
'description' => 'string|nullable',
1414
];
1515
}

app/Http/Requests/Api/Client/Servers/Settings/SetDockerImageRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function rules(): array
2424
Assert::isInstanceOf($server, Server::class);
2525

2626
return [
27-
'docker_image' => ['required', 'string', 'max:191', 'regex:/^([a-zA-Z0-9 .#_\/\-]*)(\|*)([a-zA-Z0-9 .\/:@]*)$/', Rule::in(array_values($server->egg->docker_images))],
27+
'docker_image' => ['required', 'string', 'max:191', 'regex:/^[\w#\.\/\- ]*\|*[\w\.\/\-:@ ]*$/', Rule::in(array_values($server->egg->docker_images))],
2828
];
2929
}
3030
}

app/Models/Egg.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class Egg extends Model
123123
'file_denylist' => 'array|nullable',
124124
'file_denylist.*' => 'string',
125125
'docker_images' => 'required|array|min:1',
126-
'docker_images.*' => ['required', 'string', 'max:191', 'regex:/^([a-zA-Z0-9 .#_\/\-]*)(\|*)([a-zA-Z0-9 .\/:@]*)$/'],
126+
'docker_images.*' => ['required', 'string', 'max:191', 'regex:/^[\w#\.\/\- ]*\|*[\w\.\/\-:@ ]*$/'],
127127
'startup' => 'required|nullable|string',
128128
'config_from' => 'sometimes|bail|nullable|numeric|exists:eggs,id',
129129
'config_stop' => 'required_without:config_from|nullable|string|max:191',

app/Models/Server.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ class Server extends Model
163163
'egg_id' => 'required|exists:eggs,id',
164164
'startup' => 'required|string',
165165
'skip_scripts' => 'sometimes|boolean',
166-
'image' => ['required', 'string', 'max:191', 'regex:/^([a-zA-Z0-9 .#_\/\-]*)(\|*)([a-zA-Z0-9 .\/:@]*)$/'],
166+
'image' => ['required', 'string', 'max:191', 'regex:/^[\w\.\/\-:@ ]*$/'],
167167
'database_limit' => 'present|nullable|integer|min:0',
168168
'allocation_limit' => 'sometimes|nullable|integer|min:0',
169169
'backup_limit' => 'present|nullable|integer|min:0',

public/themes/pterodactyl/js/admin/new-server.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ $('#pEggId').on('change', function (event) {
8888
for (let i = 0; i < keys.length; i++) {
8989
let opt = document.createElement('option');
9090
opt.value = images[keys[i]];
91-
opt.innerHTML = keys[i] + " (" + images[keys[i]] + ")";
91+
opt.innerText = keys[i] + " (" + images[keys[i]] + ")";
9292
$('#pDefaultContainer').append(opt);
9393
}
9494

resources/views/admin/servers/view/startup.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
for (let i = 0; i < keys.length; i++) {
120120
let opt = document.createElement('option');
121121
opt.value = images[keys[i]];
122-
opt.innerHTML = keys[i] + " (" + images[keys[i]] + ")";
122+
opt.innerText = keys[i] + " (" + images[keys[i]] + ")";
123123
if (objectChain.id === parseInt(Pterodactyl.server.egg_id) && Pterodactyl.server.image == opt.value) {
124124
opt.selected = true
125125
}

0 commit comments

Comments
 (0)