【问题标题】:RoR Upload File Security QuestionRoR 上传文件安全问题
【发布时间】:2011-01-13 00:37:07
【问题描述】:

我有一个关于 Ruby on Rails 的问题。我目前正在使用一个名为 Paperclip 的 gem 来允许我上传文件。

我的问题是上传到 /public 的文件,任何人都可以轻松访问。如何隐藏上传的文件?并且只允许正确的用户下载文件?

我对向某人隐藏链接不感兴趣。但我对必须有人登录才能下载文件这一事实感兴趣。

谢谢。

编辑—— http://rdoc.info/github/thoughtbot/paperclip/master/Paperclip/Storage/Filesystem

我仍然不明白如何保护后端文件的安全?

【问题讨论】:

    标签: web-applications ruby-on-rails-3


    【解决方案1】:

    您可以通过多种方式处理此安全问题。

    这是我给你的建议。

    1. 您使用回形针上传文件。这些文件将存储到您拒绝浏览器访问的目录中。

    2. 在上传过程中,您会将文件的信息存储到数据库服务器上的一个表中。

    3. 您将创建一个控制器来列出和下载您的文件。您可以通过检查用户的权限来检查用户是否可以访问或下载文件。

    4. 当您想开始下载时,您将使用send_file 强制下载并隐藏文件的真实路径。

      例子:

      @filename ="#{RAILS_ROOT}/public/dir/a/b/file.mp3"
      send_file(@filename, :filename => "music.mp3")
      

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2013-02-14
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 2011-10-16
      相关资源
      最近更新 更多