以下方法用於根據用戶參數/選擇下載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