Paperclip 上传数据的亚马逊 S3 隐私

amazon S3 privacy for Paperclip uploaded data

我正在使用 Amazon S3 作为我的 user 使用 Paperclip 上传的图片的托管服务。

虽然我很难理解这些文件的私密性。

我对我的 user 图片并没有真正感到困扰,因为它们被设计为显示在 public 个人资料上。尽管将来某些 PDF 文件将专门用于特定的 users,并且只能由非常 users

的人查看

当然,我的应用程序将 return 用户有权查看的文件,但在查看图像的 HTTP 地址并对其进行调整时,会传送一些其他图像:

http://mywebsitename.s3-eu-west-1.amazonaws.com/photographephotos/images/000/000/013/big/CopyrightMM.JPG?1492617xxx

例如在上面的地址中,当我将数字“13”更改为另一个数字时,我可以看到不同的图像...

我不确定我做错了什么,但图像地址似乎没有添加唯一令牌,例如 Amazon S3 上的临时会话,允许单个用户短期查看此图像时间...除非重新加载页面,并且另一个标记附加到我的图像...

关于设置,我创建了一个 IAM 用户并授予了对应用程序存储桶的完全访问权限,然后使用附加到该 IAM 用户的 S3 凭证设置 Paperclip。

在您的模型中使用:

 has_attached_file :file, s3_permissions: :private

并检索文件 URL 使用:

@model.file.expiring_url(10)