【问题标题】:Laravel: Prevent direct access of files from public folderLaravel:防止直接访问公用文件夹中的文件
【发布时间】:2017-11-30 11:47:21
【问题描述】:

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

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

我知道这可以通过 htaccess 实现,但是如何实现呢? 请帮忙:)

【问题讨论】:

    标签: php .htaccess laravel-5


    【解决方案1】:

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

    Deny from  all
    

    【讨论】:

      【解决方案2】:

      目前我能想到的方法有3种;

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

      【讨论】:

        猜你喜欢
        • 2012-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-06
        相关资源
        最近更新 更多