Rails 4:从 CSV 文件中给定的路径上传图片
Rails 4: Upload image from path given in CSV file
我在应用程序中使用 CSV 文件导出产品。我有一个图像字段,我在其中提供每个产品的图像位置,可以是 link 或本地计算机上的路径。
我可以从用户用来访问网站的机器上上传图像吗?当我使用 links 或服务器内的位置时,我可以成功地做到这一点。
没有。从安全角度考虑您是否能够做到这一点。您访问的任何网站都可以从您的文件系统中读取任何它想要的内容!谢天谢地,这是不可能的。
在 CarrierWave、PaperClip 等用户可以将文件上传到服务器的情况下:用户自己在浏览器中选择文件,当请求发送到服务器时,特定文件具有已从用户明确选择,作为请求本身的一部分上传。因此,文件被发送到服务器 - 服务器本身从不从用户的文件系统中读取。
区别是:
这没问题:"Hey, server, here's a file I've selected, I'm passing it to you so you can process it"
这不对:"Hey user, I know you've just sent me a request. I'm going to take it upon myself to read what I want from your file system!"
我在应用程序中使用 CSV 文件导出产品。我有一个图像字段,我在其中提供每个产品的图像位置,可以是 link 或本地计算机上的路径。
我可以从用户用来访问网站的机器上上传图像吗?当我使用 links 或服务器内的位置时,我可以成功地做到这一点。
没有。从安全角度考虑您是否能够做到这一点。您访问的任何网站都可以从您的文件系统中读取任何它想要的内容!谢天谢地,这是不可能的。
在 CarrierWave、PaperClip 等用户可以将文件上传到服务器的情况下:用户自己在浏览器中选择文件,当请求发送到服务器时,特定文件具有已从用户明确选择,作为请求本身的一部分上传。因此,文件被发送到服务器 - 服务器本身从不从用户的文件系统中读取。
区别是:
这没问题:"Hey, server, here's a file I've selected, I'm passing it to you so you can process it"
这不对:"Hey user, I know you've just sent me a request. I'm going to take it upon myself to read what I want from your file system!"