Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web applications RoR上载文件安全问题_Web Applications_Ruby On Rails 3 - Fatal编程技术网

Web applications RoR上载文件安全问题

Web applications RoR上载文件安全问题,web-applications,ruby-on-rails-3,Web Applications,Ruby On Rails 3,我有一个关于RubyonRails的问题。我目前正在使用一种叫做回形针的宝石来上传文件 我的问题是上传的文件会进入/公开,任何人都可以轻松访问。我如何隐藏上传的文件?并且只允许正确的用户下载文件 我不想对别人隐瞒链接。但我感兴趣的是,必须有人登录才能下载文件 谢谢 编辑-- 我还是不知道如何保护后端的文件 您可以通过多种方式处理此安全问题 这是我向你提出的建议 你可以用回形针上传文件。这些文件将存储到一个目录中,您的用户将拒绝从该目录中访问 在上传过程中,您将把文件的信息存储到数据库服务器上

我有一个关于RubyonRails的问题。我目前正在使用一种叫做回形针的宝石来上传文件

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

我不想对别人隐瞒链接。但我感兴趣的是,必须有人登录才能下载文件

谢谢

编辑--


我还是不知道如何保护后端的文件

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

这是我向你提出的建议

  • 你可以用回形针上传文件。这些文件将存储到一个目录中,您的用户将拒绝从该目录中访问

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

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

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

    例如:

    @filename ="#{RAILS_ROOT}/public/dir/a/b/file.mp3"
    send_file(@filename, :filename => "music.mp3")
    
  • 希望这有帮助