Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该为上载的文件设置哪些文件权限_Php_Upload_Permissions - Fatal编程技术网

Php 我应该为上载的文件设置哪些文件权限

Php 我应该为上载的文件设置哪些文件权限,php,upload,permissions,Php,Upload,Permissions,我有一个处理文件上传的PHP脚本。脚本尝试组织上载的文件,如果需要,可以创建新文件夹将文件移动到其中。这些文件将位于www根目录下(即,web浏览器将能够访问它们) 我的问题是,我应该为创建的文件夹和移动到其中的文件设置什么权限(使用mkdir()和move\u-uploaded\u-file())?您的Web服务器需要对这些文件夹的读写权限,执行权限应该被撤销(假设使用类似UNIX的系统)。如果没有,用户可以上传脚本并通过发送HTTP请求来执行它 但在国际海事组织,整个概念是一个潜在的安全漏洞

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


我的问题是,我应该为创建的文件夹和移动到其中的文件设置什么权限(使用
mkdir()
move\u-uploaded\u-file()
)?

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

但在国际海事组织,整个概念是一个潜在的安全漏洞。最好将文件存储在Web服务器根目录之外的文件夹中,这样就不可能直接访问。在web应用程序中,可以有一个PHP下载页面,用于扫描上载目录并显示下载链接列表。这些下载链接指向另一个脚本,该脚本从存储目录中读取文件并将其发送给用户


是的,这是更多的工作。但是这种情况非常常见,因此您应该能够轻松找到一些带有示例实现的源代码。而且让你的服务器被黑客攻击的工作量要小得多…

具体回答766(无执行权限)将是你想要使用的最宽松的方式。在另一端,700将不允许除web用户之外的任何人处理该文件。
但实际上,这一切都取决于您对决定最佳结果的文件所做的操作。

这实际上是CMS的一部分,文件都是图像(我们验证了这一点——非图像被丢弃)。我理解有人的风险,例如,上传一个php脚本如果你能清理输入数据,对我来说就足够安全了。但我仍然会取消可执行标志;-)文件本身肯定不应该设置执行权限,但是如果您希望提供目录内容的列表,则它们放入的目录将需要webserver用户的执行权限。