Edu*_*ard 4 ruby-on-rails rails-activestorage ruby-on-rails-5.2
我正在将现有应用程序升级到Rails 5.2。
旧的应用程序正在使用Paperclip进行文件存储,而我正在尝试将其移至ActiveStorage。
我的应用程序公开了一个API,该API允许用户安全地上传文件(使用密钥/秘密对来签署请求)。
当我安装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
Run Code Online (Sandbox Code Playgroud)
我如何禁用这些路由以不允许随机上传到我的应用程序。
Ska*_*ddy 10
为了安全地删除所有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
Run Code Online (Sandbox Code Playgroud)
我建议不要require 'rails/all'使用从rails源代码中获取的rails gem列表来替换config / application.rb,通常建议这样做。
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |