网络服务器用户是否应该对 uploads/ 目录具有写权限?

网络服务器用户是否应该对 uploads/ 目录具有写权限?

我总是授予网络服务器用户对这些目录的完全权限:

cache/
logs/
web/uploads/

但现在我想知道上传部分是否为 0K。我在想,也许我最好为每个上传使用一个 .tmp 文件,然后将它们放入队列中以移动到 uploads/,并对删除执行相同操作(队列将由不同的用户读取和验证)。这样,即使攻击者注入恶意代码,uploads/ 文件夹也是安全的。

答案1

您对临时文件的想法对我来说听起来是个好主意。

无论临时文件上传到哪个目录,都需要对运行代码的用户具有写入权限(通常是网络服务器,尤其是在使用时mod_whatever)。

此外,该目录需要外部DocumentRoot。任何人上传到那里的任何内容,在经过审查之前都不应出现在互联网上。这可以防止您的服务器被用作电子邮件,告诉我我的登录已被禁用,我需要去http://example.com/uploads/yourbank.php修复它。

相关内容