Laravel:在app公用文件夹中保存图像

时间:2016-06-23 08:47:28

标签: php image laravel security

您认为我应该如何在Laravel应用中组织图像存储?例如,我有一个自构建管理面板和文章模块。每篇文章都可以包含我应该从管理面板中文章的编辑页面上传的图像。因此,应该可以通过/images/somehash.jpg访问此图像。但出于安全原因,我无法授予应用程序权限以写入公用文件夹。解决这个问题有哪些变体?

  1. 创建私人文件夹,例如{app_root} / storage / images,创建处理URL / images / *的路径,从存储中读取图像并将其返回;
  2. 也许是.htaccess;
  3. 的一些解决方法
  4. 你的变种?
  5. 谢谢!

2 个答案:

答案 0 :(得分:0)

如果您不想将图像存储在public目录中,请创建storage/app/images目录并将图像存储在其中。

根据您的应用程序的要求,您可能需要也可能不需要创建路径来读取这些图像。

答案 1 :(得分:0)

是将图像保存在公用文件夹还是私有文件夹中,取决于您的逻辑。当您在公共文件夹中上传文件时,可以直接从Web服务器下载这些文件而无需启动 Laravel应用程序。但是,如果您选择将文件存储在私人文件夹中,那么这些文件是私有的,请求者必须从Laravel应用程序中获取这些文件。因此,如果您的文件对所有人开放(如CSS或JS文件),那么这意味着您可以将它们放在公共文件夹中。但是,如果出于任何原因,您的文件在让用户访问该文件之前有任何类型的限制或需要检查的任何验证,那么您可以将这些文件上传到私人文件夹中。