gpt4 book ai didi

ruby-on-rails - 限制对 Rails 应用程序中图像的访问

转载 作者:行者123 更新时间:2023-12-04 06:16:22 24 4
gpt4 key购买 nike

我有 rails 项目。在我的项目中,我在服务器上加载图像(rails 3 + 回形针 + 设计 + cancan)。我想限制对文件的访问(例如,原始图像只能由管理员查看)。我该怎么做?

最佳答案

如果您受数据库中的属性限制,那么一种方法是通过 Controller 提供图像。它不是性能最好的,但它是安全的。

我还没有试过这个,但如果你从一个像这样的 URL 提供图像
/images/picture_of_mickey_mouse.png
那么你可以在你的应用程序中创建一个响应 /images 的路由具有文件名属性并通过 Controller 提供所有这些图像。

例如

class ImagesController < ApplicationController
before_filter :authenticate_admin!, :only => [:show]
def show
send_file "/images/#{params[:filename]}", :disposition => 'inline'
end
end

您需要确保对 params[:filename] 进行 sanitizer 。但是,否则用户将能够下载您服务器上的任何文件!
send_file 上的文档在这里: http://apidock.com/rails/ActionController/DataStreaming/send_file

关于ruby-on-rails - 限制对 Rails 应用程序中图像的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14306035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com