我有一个处理文件上传的 PHP 脚本。该脚本尝试组织上传的文件,并可能创建新文件夹以将文件移入(如果需要)。这些文件将位于 www 根目录下(即 Web 浏览器将能够访问它们)。

我的问题是,我应该为创建的文件夹和移入其中的文件设置什么权限(使用 mkdir()move_uploaded_file())?

有帮助吗?

解决方案

您的网络服务器需要这些文件夹的读写权限,应撤销执行权限(假设是类 UNIX 系统)。如果没有,用户可以上传脚本并通过发送 HTTP 请求来执行它。

但在我看来,整个概念是一个潜在的安全漏洞。最好将文件存放在文件夹中 外部 网络服务器根目录,因此无法直接访问。在您的 Web 应用程序中,您可以有一个 PHP 下载页面,用于扫描上传目录并显示下载链接列表。这些下载链接指向另一个脚本,该脚本从您的存储目录读取文件并将其发送给用户。

是的,这是更多的工作。但这种情况很常见,因此您应该能够轻松找到一些带有示例实现的源代码。而且如果你的服务器被黑客入侵的话,事情就少得多了......

其他提示

具体来说,766(无执行权限)将是您想要使用的最宽松的。另一方面,700 不允许除 Web 用户之外的任何人修改该文件。但实际上,这完全取决于您对文件所做的操作,从而确定最佳结果。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top