gpt4 book ai didi

ruby-on-rails - 如何禁用 Active Storage 自动生成的路由

转载 作者:行者123 更新时间:2023-12-04 17:06:46 25 4
gpt4 key购买 nike

我正在将现有应用程序升级到 Rails 5.2。

旧应用程序使用 Paperclip 进行文件存储,我正在尝试将其移动到 ActiveStorage。

我的应用公开了一个 API,允许用户安全地上传文件(使用 key / secret 对来签署请求)。

当我安装 ActiveStorage 时,我发现了几个新路由

      rails_service_blob GET  /rails/active_storage/blobs/:signed_id/*filename(.:format)                               active_storage/blobs#show
rails_blob_representation GET /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show
rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show
update_rails_disk_service PUT /rails/active_storage/disk/:encoded_token(.:format) active_storage/disk#update
rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create

我如何禁用这些路由以不允许随机上传到我的应用程序。

最佳答案

为了安全删除所有 ActiveStorage 路由而不会产生副作用,请将其添加到 config/application.rb:

class Application < Rails::Application
...
initializer(:remove_activestorage_routes, after: :add_routing_paths) {|app|
app.routes_reloader.paths.delete_if {|path| path =~ /activestorage/}}
...
end

我建议不要更换 require 'rails/all'在 config/application.rb 中包含从 rails 源代码中抓取的 rails gems 列表,这通常是推荐的。

关于ruby-on-rails - 如何禁用 Active Storage 自动生成的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52497044/

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