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

时间:2017-11-30 11:47:21

标签: php .htaccess laravel-5

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

我尝试了很多解决方案,但它根本没有工作。 我只是想做的事情: - 1.通过直接访问保护我的文档。 2.在laravel中实现它的方法(通过.htaccess)

我知道这可以通过htaccess实现,但是怎么样? 请帮助请:)

2 个答案:

答案 0 :(得分:2)

我现在可以想到三种方法;

  1. 您使用Laravel拦截所有图像和视频请求,然后使用路由器,提供用户所在的内容,前提是他们已获得授权。这将是缓慢的!
  2. 您依赖于默默无闻,并将所有客户的图片,视频等放在具有长期不可随意的随机网址的文件夹中。然后,您可以使用“静态”文件夹名称链接到代码中的内容。客户的内容将始终位于该文件夹中,并且无论他们是否登录都可以访问。与1相比,这样做的优点是您的框架无需为每个图像或视频启动。
  3. 隐藏所有内容 - 可能在存储文件夹中。用户登录时,在其公用文件夹与其存储文件夹之间创建临时符号链接。记下会话中的链接。使用所有图库等中的链接,而不是上面(2)中使用的静态代码。一旦他们注销,代码将不再有效,您可以在注销时删除符号链接或者有一份工作来定期整理。

答案 1 :(得分:1)

在您的上传文件夹.htaccess文件中添加内容:

Deny from  all