首页 > 解决方案 > PHP 文件上传:只要无法访问,我存储任何文件是否安全?

问题描述

我了解以下情况下的安全漏洞:

用户上传filemanager.php,我的脚本将其移动到 Web 可访问uploads文件夹。然后用户访问http://example.com/uploads/filemanager.php并访问我的文件。

但是,如果该uploads文件夹存储在可公开访问的 Web 文件夹(即/var/uploads)之外并且文件从未直接提供,那么允许任何文件是否安全?

例如下载,用户会去http://example.com/download.php?id=123,PHP会查找与ID关联的文件位置,然后直接将文件内容输出为下载(设置标题以强制下载然后使用readfile()

我知道可能会上传病毒等,但服务器本身是否可以通过这种方式免受危险文件的侵害?

标签: phpfilesecurityupload

解决方案


推荐阅读