【发布时间】:2020-10-05 04:03:30
【问题描述】:
我有一个image,我使用预签名的 url 上传到了 S3。起初,图像是可见的...
- 用于我应用的
image_tag,或 - 用于任何 html 文档的
<img src="">。
...但是当它被复制粘贴到我的浏览器时,它是不可见的。
现在过期日期已过,图像仍可查看...但仅在我的应用程序请求时才可见。过期日期不是应该阻止访问吗?
我在某处读到,到期日期应该只影响文件上传,但对this question 的响应则不然。
【问题讨论】:
-
“当我的应用请求时”是什么意思?应用程序是否生成新的预签名 URL?如果您查看应用程序生成的 URL,是否每次都不同(例如在签名中)?
-
你是对的。我正在使用一个名为 Shrine 的 rails gem,以及一个名为 Uppy 的直接上传节点包。当文件上传到存储桶时,文件元数据被插入到表单中,当我提交时,它被保存到我的数据库中。我的印象是,硬编码的 url 被保存了。手动检查
<attachment>_url后,似乎url每次都在变化。
标签: ruby-on-rails amazon-web-services amazon-s3 pre-signed-url