2013-01-17 135 views
0

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

谢谢。

+0

什么都没有...我想用php做重定向...但不知道这是否足够安全 –

+1

'登录'=到您的网站或服务器?请注意,777意味着有人可以上传敌对脚本并运行它。 – ethrbunny

回答

1

假设这是一个网站,请尽量避免使用777个权限,它会增加黑客攻击你的网站的可能性。

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

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

+0

你的答案在我看来对我来说最好......但我从来没有使用过suPHP处理程序,也不确定我是否知道如何让它们工作。谢谢。 –

+0

你的服务器上有控制面板吗?如果您拥有Plesk,那么在域的虚拟主机设置中更改PHP处理程序非常简单。 在WHM/cPanel服务器上,只能在全局基础上进行更改 - 从WHM内部安装SuPHP/SuEXEC支持,然后您可以将其交换。 如果你有一个纯粹的骨骼服务器,你需要调查mod_fastcgi(假设你使用的是Apache作为你的web服务器),或者甚至是php-fpm守护进程。 – motorleague

1

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