以下方法用于根据用户参数/选择下载YAML文件。如何安全地下载文件
这确实不安全,因为我可以下载层次结构中的其他YAML文件。
def download
language_code = params[:code]
send_file(
"#{Rails.root}/config/locales/#{language_code}.yml",
filename: "#{language_code}.yml",
type: "application/yml"
)
end
我不能拥有params[:code]
这是动态的性质。
我该如何保护这里的download
方法,这是脆弱的?
什么是你想要防范的实例? – Anthony
@Anony'database.yml'文件可以被拉。 – Nithin
你可以制作一个'safe_list'或一个'unsafe_list'数组,持有language_code,你可以下载用户吗? – Anthony