使用预签名 URL 将对象上传到 AWS S3
Uploading objects to AWS S3 using presigned URLs
我希望使用预签名 URL 功能来允许我的无服务器应用程序的用户上传图像。阅读后听起来像是完美的解决方案,但我对安全性有疑问。
通过使用预先签名的 URL 方法,上传发生在客户端而不是服务器端,我唯一关心的是尽管我的应用程序在上传之前需要身份验证,但它不会阻止用户上传恶意文件,因为它们可以绕过客户端检查以确定文件是否为图像。
有没有人对此事有任何澄清?
谢谢!
正确。如果他们可以检索 pre-signed URL 并绕过您的 client-side 逻辑,那么他们可以使用 URL 上传他们喜欢的任何内容。如果您不能完全控制 client-side 曝光,那么您就不能信任 client-side 验证,您也应该实施规则 server-side。您可以在此处使用 Lambda。
我希望使用预签名 URL 功能来允许我的无服务器应用程序的用户上传图像。阅读后听起来像是完美的解决方案,但我对安全性有疑问。
通过使用预先签名的 URL 方法,上传发生在客户端而不是服务器端,我唯一关心的是尽管我的应用程序在上传之前需要身份验证,但它不会阻止用户上传恶意文件,因为它们可以绕过客户端检查以确定文件是否为图像。
有没有人对此事有任何澄清?
谢谢!
正确。如果他们可以检索 pre-signed URL 并绕过您的 client-side 逻辑,那么他们可以使用 URL 上传他们喜欢的任何内容。如果您不能完全控制 client-side 曝光,那么您就不能信任 client-side 验证,您也应该实施规则 server-side。您可以在此处使用 Lambda。