我有一个处理文件上传的PHP脚本。该脚本尝试组织上载的文件,并可能创建新文件夹以在需要时将文件移动到该文件夹中。这些文件将位于www根目录下(即,Web浏览器将能够访问它们)。
我的问题是,我应该为创建的文件夹和移动到其中的文件设置哪些权限(使用mkdir()
和move_uploaded_file()
)?
答案 0 :(得分:4)
您的网络服务器需要在这些文件夹中具有读写权限,应撤销执行权限(假设类UNIX系统)。如果没有,用户可以上传脚本并通过发送HTTP请求来执行它。
但IMO整个概念是一个潜在的安全漏洞。更好地将文件存储在Web服务器根目录外部的文件夹中,这样就无法直接进行加密。在您的Web应用程序中,您可以拥有一个PHP下载页面,用于扫描上载目录并显示下载链接列表。这些下载链接指向另一个脚本,该脚本从存储dir中读取fiels并将它们发送给用户。
是的,这是更多的工作。但这种情况很常见,因此您应该能够轻松地找到一些带有示例实现的源代码。让服务器入侵的工作要少得多......
答案 1 :(得分:0)
具体回答766(没有执行权限)将是您想要使用的最松散的。在另一端700将允许除了web用户之外没有人弄乱文件。 但实际上,这完全取决于您使用的文件确定了最佳结果。