2013-01-17 137 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腳本將文件傳輸給他(在檢查他的證書和文件所有權後,將其保存在數據庫或某處)。