Php Laravel:阻止从公用文件夹直接访问文件

Php Laravel:阻止从公用文件夹直接访问文件,php,.htaccess,laravel-5,Php,.htaccess,Laravel 5,我被困在我的laravel应用程序的这一部分,在那里我被要求保护文件不被通过url浏览器直接访问。 我有一个公共文件夹,其中有一个文档文件夹,所有文档都将上载到该文件夹中。我只需要一个解决方案来防止这种情况,我可以直接从我的应用程序访问文档,但任何第三方访问者都不能查看我的文档(图像、PDF等) 我尝试过许多解决方案,但根本不起作用。 我只想说:- 1.通过直接访问保护我的文档。 2.在laravel中实现it的方式(通过.htaccess) 我知道这可以通过htaccess实现,但如何实现?

我被困在我的laravel应用程序的这一部分,在那里我被要求保护文件不被通过url浏览器直接访问。 我有一个公共文件夹,其中有一个文档文件夹,所有文档都将上载到该文件夹中。我只需要一个解决方案来防止这种情况,我可以直接从我的应用程序访问文档,但任何第三方访问者都不能查看我的文档(图像、PDF等)

我尝试过许多解决方案,但根本不起作用。 我只想说:- 1.通过直接访问保护我的文档。 2.在laravel中实现it的方式(通过.htaccess)

我知道这可以通过htaccess实现,但如何实现?
请提供帮助:)

添加到您的上载文件夹
。htaccess
文件内容:

Deny from  all

在上载文件夹
.htaccess
中添加以下内容:

Deny from  all

刚才我可以想到三种方法,

  • 您可以使用Laravel截获所有图像和视频请求,然后使用路由器提供用户所需的内容,前提是这些内容得到授权。这会很慢的
  • 你依赖于晦涩,把所有客户的图片、视频等放在一个文件夹里,这个文件夹有一个很长的不可用的随机url。然后可以使用“静态”文件夹名称链接到代码中的内容。客户的内容将始终位于该文件夹中,无论是否登录,都可以访问。与1相比,它的优点是框架不必为每个图像或视频启动
  • 将所有内容隐藏起来-可能在存储文件夹中。用户登录时,在其公用文件夹和存储中的文件夹之间创建临时符号链接。记下会话中的链接。使用所有库中的链接等,而不是上面(2)中使用的静态代码。一旦他们注销,代码将不再有效,您可以在注销时删除符号链接,或者定期对其进行整理

  • 刚才我可以想到三种方法,

  • 您可以使用Laravel截获所有图像和视频请求,然后使用路由器提供用户所需的内容,前提是这些内容得到授权。这会很慢的
  • 你依赖于晦涩,把所有客户的图片、视频等放在一个文件夹里,这个文件夹有一个很长的不可用的随机url。然后可以使用“静态”文件夹名称链接到代码中的内容。客户的内容将始终位于该文件夹中,无论是否登录,都可以访问。与1相比,它的优点是框架不必为每个图像或视频启动
  • 将所有内容隐藏起来-可能在存储文件夹中。用户登录时,在其公用文件夹和存储中的文件夹之间创建临时符号链接。记下会话中的链接。使用所有库中的链接等,而不是上面(2)中使用的静态代码。一旦他们注销,代码将不再有效,您可以在注销时删除符号链接,或者定期对其进行整理