2010-08-05 132 views
0

我有一個讓用戶上傳文件到服務器的應用程序。所有文件都存儲在一個名爲Uploaded Files(其中有Thumbnails目錄)的目錄中。如何防止用戶訪問服務器上的文件?

防止用戶看到這些文件的最常用方法是什麼?我的意思是我不希望用戶通過輸入URL來查看文件,如/path_to_website/Uploaded Files/1.png

另一方面,授權用戶應該能夠通過獲取包含文件路徑的頁面來查看文件,例如:../Uploaded Files/1.JPG../Uploaded Files/2.png../Uploaded Files/3.gif。這些用戶應該只能看到他們得到的頁面上顯示的文件,例如我想阻止他們看到../Uploaded Files/823.gif

請幫忙瞭解這些事情今天是如何完成的。

非常感謝!

+2

可能重複的[如何保護遠程目錄中的非高級用戶下載文件(在PHP?)](http://stackoverflow.com/questions/1550071/how-to-protect-downloadable-files- in-a-remote-directory-from-non-premium-users-i) – 2010-08-05 12:39:56

+2

這裏有一個更好的:http://stackoverflow.com/questions/2416736/how-to-password-protect-files-images-video-拉鍊動態從公有制和人 – 2010-08-05 12:40:28

回答

0

您可以將圖像移動到公共目錄外的文件夾中,然後通過PHP將它們流入允許查看它們的用戶。通過使用PHP header()手冊中詳述的方法獲得非常基本的輸出(請參閱示例1)。

否則,你可以把一個.htaccess文件包含的文件夾中:

deny from all 

,如果你正在運行的Apache,但你仍然需要通過PHP來流出來。

相關問題