Я использую S3 для приема прямых загрузок от пользователя на S3. Поэтому я буду использовать заранее подписанные URL-адреса.
После успешной загрузки AWS Lambda убедится, что загружаемый файл является изображением, а затем клиент сообщит моему серверу, что загрузка завершена.
Затем мой сервер проверит, существует ли этот файл в S3 (если Lambda обнаружит недопустимое изображение, он удалит его). Если да, то остальная часть логики приложения последует за ним.
Однако в этом механизме есть лазейка. Пользователь может использовать тот же URL-адрес для загрузки вредоносного файла после того, как сообщит моему серверу, что он завершил загрузку (и первоначально передаст действительный файл).
Lambda все равно удалит файл, но теперь мой сервер будет думать, что файл существует, хотя на самом деле это не так.
Есть ли способ создать заранее подписанный URL-адрес для однократной загрузки или можно принудительно аннулировать URL-адрес, который был создан, но срок действия которого еще не истек?
Подробнее здесь: https://stackoverflow.com/questions/367 ... ime-upload