PHP 7 使用默认系统文件夹 (/tmp) 来存储上传的文件。PHP 允许您更改设置并更改上传目标目录。有些网站建议将此文件夹更改为另一个文件夹,因为 /tmp 权限为 777。
OWASP 在安全建议中没有列出任何内容。我真的应该担心将此文件夹更改为另一个文件夹还是没有风险?
答案1
我认为通常不需要更改上传文件夹,因为
- 临时文件的默认访问模式为 0600,属于运行 PHP 进程的用户所有,其他用户默认无法访问。
/tmp
已设置粘滞位,这意味着即使其访问权限为 777,也只有文件的所有者可以删除任何文件(当然还有 root )。- 通常,服务器是专用计算机,如今有了容器和虚拟化,情况更是如此。这意味着可能没有其他用户在场,无法查看正在传输的上传文件。
- 这些文件只是暂时存在,如果处理文件上传的脚本退出,这些文件就会被删除。因此,即使周围有不受信任的用户/进程,他们也需要竞争条件(顺便说一句,这可能存在)才能访问这些文件,而且他们仍然需要克服前面提到的访问限制。
- 如果互联网上未经授权的某个人设法访问您的计算机的文件系统,那么临时上传的文件就是您最不用担心的问题。