我应该为上传文件设置什么文件权限

问题描述:

我有一个处理文件上传的PHP脚本。该脚本尝试组织上传的文件,并可能创建新文件夹以根据需要移动文件。这些文件将位于www根目录下(即,网页浏览器将能够访问它们)。我应该为上传文件设置什么文件权限

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

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

但IMO的整个概念是一个潜在的安全漏洞。更好地将文件存储在以外的文件夹 webserver根目录下,这样不会有直接的联系。在您的Web应用程序中,您可以拥有一个PHP下载页面,用于扫描上传目录并显示下载链接列表。这些下载链接导致另一个脚本,它从您的存储目录读取这些脚本并将它们发送给用户。

是的,这是更多的工作。但是这种情况非常普遍,所以你应该可以很容易地找到一些带有示例实现的源代码。而且它让你的服务器遭到黑客攻击的工作要少得多......

+0

这实际上是CMS的一部分,文件都是图像(我们验证 - 非图像被丢弃)。我了解某人的风险,例如上传一个php脚本 – 2008-11-14 16:18:30

专门回答766(没有执行权限)将是最宽松的,你会想要使用。另一方面,700将允许除了网络用户之外的其他人无法使用该文件。 但真的这一切都取决于你在做什么,以确定最佳结果的文件。