Security 关于使用基于浏览器的HTTP POST将文件上载到Amazon S3的问题

Security 关于使用基于浏览器的HTTP POST将文件上载到Amazon S3的问题,security,file-upload,amazon-s3,Security,File Upload,Amazon S3,关于用户使用JSP页面生成的HTTP POST表单直接将文件上载到AmazonS3,我有几个问题 访问密钥和签名 需要向用户公开 允许他从JSP上传文件 形式。我必须在签名上签字 过期时间,否则按 默认情况下,它的有效期为15分钟 i) 用户是否可以使用这些详细信息上传到my portal外部的S3以更新其文件或更新/修改其他文件 (ii)。我如何设置策略来避免这种情况 用户是否可以将签名用于 多个请求?如果是,如何 阻止用户执行多个操作 上传?我如何确保 用户可以将此签名与 只请求一次 有时

关于用户使用JSP页面生成的HTTP POST表单直接将文件上载到AmazonS3,我有几个问题

  • 访问密钥和签名 需要向用户公开 允许他从JSP上传文件 形式。我必须在签名上签字 过期时间,否则按 默认情况下,它的有效期为15分钟

    i) 用户是否可以使用这些详细信息上传到my portal外部的S3以更新其文件或更新/修改其他文件

    (ii)。我如何设置策略来避免这种情况

  • 用户是否可以将签名用于 多个请求?如果是,如何 阻止用户执行多个操作 上传?我如何确保 用户可以将此签名与 只请求一次

  • 有时可能会出现问题 AmazonS3具有延迟和上传功能。 如果来自S3的响应需要时间 用户试图上传文件 再一次。他会得到一个例外, 我该怎么办


谢谢

没有密钥,公共访问密钥不能用于任何事情永远不要公开您的密钥。

只要您在服务器上签署策略,您就安全了。签名仅在您指定的时间内有效,并且仅在上载到特定的bucket和key时有效。没有您的密钥,用户无法创建另一个签名来上载任何其他文件

他们无法访问任何其他文件

据我所知,签名过期时间只需要在他们开始上传时有效,这样你就可以设置一个很短的时间

i) 用户是否可以使用这些详细信息在我的门户之外上传到S3 更新他的文件或更新/修改其他文件

是的,用户可以使用这些详细信息来重播操作。您可以指定文件名,以便他只能更新上载的文件

(ii)。我如何设置策略来避免这种情况

您可以添加一些其他条件来限制访问。与“过期”类似,将其设置为生成签名后的5/10分钟。您可以添加任何其他条件,如“用户id”或其他条件