fix: constrain picker and reject oversized uploads safely
deploy-preland / deploy barbariskatest (push) Successful in 20s

This commit is contained in:
Panfilov Konstantin committed 2026-10-16 06:31:03 +03:00
1 parent 700408c1e0
commit 2f76438226
2 files changed
+78 -15

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
<?php
declare(strict_types=1);
$form = file_get_contents(dirname(__DIR__) . '/components/form.php');
$failures = [];
foreach ([
"\$basePickerAccept = 'image/jpeg,image/png,image/gif,image/webp,image/bmp,image/avif,image/heic,image/heif,image/jxl,image/tiff," => 'Preland должен ограничивать штатный picker поддерживаемыми raster-контейнерами.',
'accept="<?= htmlspecialchars($basePickerAccept' => 'Preland должен передать допустимые типы в штатный file input.',
'picker_accept' => 'Preland должен получать актуальный accept из API policy для PDF.',
'max_file_size_bytes' => 'Preland должен получить лимит размера для preflight без передачи гигабайтного файла.',
'rejectOversizedFile' => 'Preland обязан создать Tour-отказ без загрузки oversized байтов.',
] as $needle => $message) {
if ($form === false || !str_contains($form, $needle)) {
$failures[] = $message;
}
}
if ($failures !== []) {
fwrite(STDERR, "FAILED\n- " . implode("\n- ", $failures) . "\n");
exit(1);
}
fwrite(STDOUT, "OK: preland upload admission\n");