fix: security issue with image upload (#175)

This commit is contained in:
Miguel Ribeiro 2024-03-01 22:29:33 +01:00 committed by GitHub
parent 33a39c7042
commit 7b5e166e28
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 1 deletions

View File

@ -65,7 +65,8 @@
}
}
function resizeAndUploadLogo($uploadedFile, $uploadDir, $name) { $targetWidth = 70;
function resizeAndUploadLogo($uploadedFile, $uploadDir, $name) {
$targetWidth = 70;
$targetHeight = 48;
$timestamp = time();
@ -154,6 +155,15 @@
$icon = getLogoFromUrl($iconUrl, '../../images/uploads/logos/', $name);
} else {
if (!empty($_FILES['paymenticon']['name'])) {
$fileType = mime_content_type($_FILES['paymenticon']['tmp_name']);
if (strpos($fileType, 'image') === false) {
$response = [
"success" => false,
"errorMessage" => translate('fill_all_fields', $i18n)
];
echo json_encode($response);
exit();
}
$icon = resizeAndUploadLogo($_FILES['paymenticon'], '../../images/uploads/logos/', $name);
}
}

View File

@ -157,6 +157,11 @@
$logo = getLogoFromUrl($logoUrl, '../../images/uploads/logos/', $name);
} else {
if (!empty($_FILES['logo']['name'])) {
$fileType = mime_content_type($_FILES['logo']['tmp_name']);
if (strpos($fileType, 'image') === false) {
echo translate("fill_all_fields", $i18n);
exit();
}
$logo = resizeAndUploadLogo($_FILES['logo'], '../../images/uploads/logos/', $name);
}
}