Загрузка объектов в AWS S3 с использованием предварительно подписанных URL-адресов

#node.js #reactjs #amazon-web-services #amazon-s3 #upload

#node.js #reactjs #amazon-веб-сервисы #amazon-s3 #загрузка

Вопрос:

Я хочу использовать функцию предварительно подписанных URL-адресов, чтобы пользователи моего бессерверного приложения могли загружать изображения. После прочтения это звучит как идеальное решение, но у меня есть вопрос о безопасности.

Используя метод предварительно подписанного URL, загрузка происходит на стороне клиента, а не на стороне сервера, и меня это беспокоит только потому, что, несмотря на то, что мое приложение требует проверки подлинности перед загрузкой, это не мешает пользователю загружать вредоносный файл, поскольку они могут обойти проверки на стороне клиента, чтобы определить, является ли файл изображением или нет.

У кого-нибудь есть какие-либо разъяснения по этому вопросу?

Спасибо!

Ответ №1:

Правильно. Если они могут получить предварительно подписанный URL-адрес и обойти вашу логику на стороне клиента, они могут загружать все, что им нравится, используя этот URL. Если вы не можете полностью контролировать доступ на стороне клиента, вы не можете доверять проверке на стороне клиента, и вам также следует внедрить правила на стороне сервера. Возможно, здесь можно использовать Lambda.