我对laravel相当新,我正在开发一个需要在服务器中存储文件的项目。我正在做的是将它存储在public/docs
下,问题是该目录下的文件一直可访问,因为他们知道某个文件的URL。例如,即使他们知道这个网址http://localhost/dummy/public/uploads/docs/2016-06-02-10-52-43-oth-content-inventory-and-planning-spreadsheet.pdf
他们已经注销了,他们也可以访问它,我想这是做这样的事情
在我的路线中,我会做类似
Route::any('uploads/docs/' , 'go to some controller to check if user can acces');
这可能吗?提前谢谢!
答案 0 :(得分:1)
因为一个原因被称为公众......
您应该在存储中使用存储(laravel 5)而不限制访问,实际上相反,您授予对文件的访问权限。
尝试使用laravel 4.2(像上传后将文件移动到存储文件夹中)
Input::file('file')->move(__DIR__.'/storage/',Input::file('file')->getClientOriginalName());
});
无论如何,结论是你不能限制访问(你甚至不应该有办法),因为它是公开的!所以你应该使用存储文件夹(或laravel 4中调用的任何文件)