Rails gems DragonFly和Paperclip都使用 public/system 文件夹来存储上传的文件。
据我所知,每个人都可以访问这个文件夹——至少是根文件、404.html 或其他文件。
如何保护这些上传的文件?有没有可用的配置选项?
我需要处理从用户上传生成的转码视频文件,并通过一些权限检查使它们可用。
有什么建议吗?
Rails gems DragonFly和Paperclip都使用 public/system 文件夹来存储上传的文件。
据我所知,每个人都可以访问这个文件夹——至少是根文件、404.html 或其他文件。
如何保护这些上传的文件?有没有可用的配置选项?
我需要处理从用户上传生成的转码视频文件,并通过一些权限检查使它们可用。
有什么建议吗?
不确定dragonfile,但您可以更改回形针文件上传选项。
您可以改用 Amazon S3 吗?
将以下内容添加到您的环境中:
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
通过将其添加到您的 gemfile 中,确保您已经安装了 s3 gem:
gem 'aws-sdk'
这有帮助还是您需要将它们保留在您的服务器上进行处理?
- 编辑 -
显然,如果您不能使用 s3,heroku 建议使用临时文件。阅读这篇文章: