上传文件并设置权限

时间:2013-01-17 10:40:20

标签: php mysql

我必须上传文件 - 为此,我需要设置777的权限...但只能登录用户访问文件 - 最好的方法是什么?

感谢。

3 个答案:

答案 0 :(得分:1)

您应该查看PHP函数chmod

http://php.net/manual/en/function.chmod.php

答案 1 :(得分:1)

假设这是针对某个网站,请尽量避免使用777权限,否则会增加您的网站受到攻击的可能性。

您应该使用其他PHP处理程序(如FastCGI或SUPHP)进行调查,这些将允许您的网站使用其自己的FTP用户的权限而不是Apache默认值运行,这将允许您写入目录而无需放松通常755用于目录和644用于文件的权限。

最糟糕的情况是,即使使用setfacl命令为apache / nobody / www-data用户分配其他权限,也比使用chmod打开整个世界的目录更好。

答案 2 :(得分:1)

我个人认为你不需要那么重的权限。我要做的是通过PHP上传文件,但将文件保存在网络无法访问的文件夹中,然后当一个人想要访问他自己的文件,而不是直接将他链接到文件时,你将他发送到将文件流式传输给他的PHP脚本(在检查文件的凭据和所有权之后,将其保存在数据库或某个地方)。