ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php-仅对经过身份验证的用户限制对laravel公共文件夹中目录的访问

2019-10-11 20:29:55  阅读:544  来源: 互联网

标签:php laravel



假设我们在laravel的公用文件夹中有一个Forms目录.

现在,我只希望经过身份验证的用户可以访问它,如果未经授权的用户想要打开该目录或其子目录之一(例如图像,视频等),则会显示一条错误消息.

我添加了这样的路由组,但无法正常工作:

Route::group(['prefix' => 'Forms', 'middleware' => 'auth'], function () {
      // what Can I do here ?  
});

我该怎么办?

解决方法:

我想说,如果您想向用户隐藏内容,则需要使用本地磁盘而不是公用文件夹.看看这里
https://laravel.com/docs/5.3/filesystem

仍然,如果您想限制目录,则可以使用通配符路由

对于前.

Route::get('/forms/{path?}', function () {
    if(!auth()->user()) {
        return 'unauthorized';
    }
    // if authenticated try to look for the file with requested path and return its content
    return File::get(public_path(ltrim($_SERVER['REQUEST_URI'],'/')));
})->where(['path' => '.*']);


标签:php,laravel

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有