如何防止用户访问服务器上的文件?

时间:2010-08-05 12:35:32

标签: php url .htaccess file

我有一个应用程序,允许用户将文件上传到服务器。所有文件都存储在一个名为Uploaded Files的目录中(其中包含Thumbnails目录)。

阻止用户查看这些文件的最常用方法是什么?我的意思是我不希望用户通过键入/path_to_website/Uploaded Files/1.png等网址来查看文件。

另一方面,授权用户应该能够通过获取包含文件路径的页面来查看文件,例如:../Uploaded Files/1.JPG../Uploaded Files/2.png../Uploaded Files/3.gif。这些用户应该只能看到他们获得的页面上显示的文件,即我想阻止他们看到../Uploaded Files/823.gif

请帮助理解这些日子是如何完成的。

非常感谢!!

1 个答案:

答案 0 :(得分:0)

您可以将图像移动到公共目录旁边的文件夹中,然后通过PHP将它们传输给允许查看它们的用户。通过使用PHP header()手册中详述的方法获得非常基本的输出(参见示例1)。

否则,您可以将.htaccess文件放在包含以下内容的文件夹中:

deny from all

如果您正在运行Apache,但仍需要通过PHP将其流式传输。