2010-08-05 2 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) –

+2

Вот лучший вариант: http://stackoverflow.com/questions/2416736/how-to-password-protect-files-images-video- зип-динамически из-общественного и ал –

ответ

0

Вы можете перемещать изображения в папку со стороны общего каталога, а затем передавать их через PHP пользователям, которым разрешено их просматривать. Используя метод, подробно описанный в руководстве PHP header() для очень простого вывода (см. Пример 1).

В противном случае вы можете поместить файл .htaccess в папке, содержащей:

deny from all 

, если вы работаете в Apache, но вам все еще нужно, чтобы поток его через PHP.

Смежные вопросы