将文件上传到公共 www 文件夹之外的文件夹是一个好习惯吗?

2WF*_*WFR 12 php

我有一个网站,用户可以在其中上传文件。我不希望任何人都可以访问这些文件。

我看到有些人my_secret_folder在目录的同一级别创建了一个文件夹(例如)www。然后,他们使用以下方法上传文件(使用 PHP 脚本):

$destination = $_SERVER['DOCUMENT_ROOT'] . "/../my_secret_folder/" . $filename;
Run Code Online (Sandbox Code Playgroud)

$destination上传文件的完整路径在哪里。

然后,只允许 PHP 脚本(来自 www 文件夹)访问该文件。将文件上传到公共 www 文件夹之外的文件夹是一个好习惯吗?

vid*_*rlo 29

是的,这是一个很好的做法。将其放置在 Webroot 之外意味着文件不会因 Web 服务器中的简单配置错误而被公开暴露,从而增加了暴露的另一个障碍 - 而且实施成本基本上为零。

  • 即使它们打算公开暴露,这也是一个相当好的做法,因为它可以让服务器以比直接上传到最终位置更简单的方式控制文件何时以及如何暴露。如果文件需要在公开曝光之前以某种方式进行处理,这一点尤其重要。 (2认同)