История из обычного продукта, который принимал документы от пользователей.
🎥 Платформа позволяла загружать PDF-файлы с договорами. Валидация была простой:
— разрешить .pdf
— запретить всё остальное.
Проблема вскрылась случайно: один клиент загрузил видео, переименовав его в contract.pdf.
И система спокойно приняла файл.
🎥 Что пошло не так:
— Проверяли только расширение.
— MIME-тип определялся по тому же расширению.
— На серверной стороне отсутствовала проверка сигнатур файла.
— В логах ошибка декодирования PDF подавлялась и отмечалась как «не критичная».
В итоге backend получал битые данные, а фронт показывал «Документ принят».
📌 Чтобы такие ситуации не повторялись, сохраните себе небольшой чек-лист валидации файлов — он на картинке 🎀
🐸Библиотека тестировщика
#разбор_полетов
