保护Laravel中的上传文件夹

时间:2018-08-06 12:16:26

标签: php laravel-5 file-permissions

在Laravel应用程序中,我使用Laravel File Manager来使用户能够将个人资料图像上传到他们的个人资料。

这些图像已上传到/project/public/assets/uploads/images/{user}/

在我进行的测试中,我向给定的路由发出了POST请求,我能够在这些目录中上载并执行PHP脚本

我的第一个想法是更改上载文件夹的内容以使用更严格的权限,因此我更改了图像文件夹中的每个文件以使用以下Unix文件权限:0644。原则上,这应该拒绝公共可执行操作。

我再次尝试了测试,我仍然可以执行脚本。

无法阻止潜在危险的上传,是否有办法在给定目录中禁用PHP?

正如其他人所建议的那样,最好保护文件夹。

为了达到安全级别,我在公共上传文件夹的根目录中创建了一个htaccess文件。

它看起来像这样:

# Disable PHP in public uploads folder
<IfModule mod_mime.c>
    RemoveHandler .php .phtml .php3 .php4 .php5
    RemoveType .php .phtml .php3 .php4 .php5
</IfModule>

<IfModule mod_php7.c>
    php_flag engine off
</IfModule>

0 个答案:

没有答案