如果您知道大部分目录,但是有一个文件夹根据数据库中文件的ID和名称更改,是否可以打开文件?文件文件是基于用户命名文件的。例如,在下面的代码中,id将根据数据库中文件的ID进行更改,并且文件夹名称将根据用户的名称进行更改。在我的情况下,文件的扩展名也可以改变。打开文件,其中的目录路径和文件名更改为Ruby
File.open("/public/emails/:id/:filename")
如果您知道大部分目录,但是有一个文件夹根据数据库中文件的ID和名称更改,是否可以打开文件?文件文件是基于用户命名文件的。例如,在下面的代码中,id将根据数据库中文件的ID进行更改,并且文件夹名称将根据用户的名称进行更改。在我的情况下,文件的扩展名也可以改变。打开文件,其中的目录路径和文件名更改为Ruby
File.open("/public/emails/:id/:filename")
我建议你File
示范店的所有元数据。然后,它的串插的一个简单的例子:
file = File.find(...)
File.open("/public/emails/#{file.id}/#{file.name}.#{file.extension}")
这并不当然让你开到注入式攻击 - 例如,如果用户名的文件../../../../boot/grub.conf
或东西 - 但那是特定应用,并给你执行。
谢谢。那就是我正在寻找的东西。在我的情况下,答案是File.read(“public/emails /#{id} /#{email_file_name}”) – SilverNightaFall 2012-07-22 17:54:05
是否与附加冷杉和文件名作为
dir = "2" # the name of dir from database entry
filename = "abc"
extension = ".png"
path = "path/dir/#{dir}/#{filename}#{extension}"
File.open(path)
路径,像这样的'File.open( “/公/电子邮件/#{ID} /#{文件名}”)'什么问题? – 2012-07-22 17:31:39