Ограничить доступ браузера к файлам каталога - PullRequest
0 голосов
/ 19 мая 2011

На моем веб-сайте я хочу ограничить просмотр определенных файлов, которые хранятся в каталоге с именем "/ content", так что только зарегистрированные пользователи могут просматривать файлы

в том виде, в каком они сейчас есть у любого, кто набираетxxxxxxx.com/content/4dc32b1c0a630.png в браузере может видеть этот файл изображения

Я добавил Options -Indexes в мой файл .htaccess, но ничего не сделал

, если онполезно, мой сайт построен с использованием codeigniter, поэтому было бы неплохо PHP-решение, хотя я бы посоветовал вам любой совет!

спасибо, Тим

Ответы [ 3 ]

2 голосов
/ 19 мая 2011

Вы можете написать контроллер для этой цели.

В одном из моих проектов я создал контроллер изображений с измененным размером только для зарегистрированных пользователей.Он основан на сценарии timthumb http://code.google.com/p/timthumb/

In controller __contruct ();напишите код аутентификации пользователя и все!

Таким образом, вы будете вызывать эти файлы через контроллер, например http://www.site.com/images/1314.png

1 голос
/ 19 мая 2011

Используйте mod_rewrite, чтобы переписать любые обращения к чему-либо в /content в PHP-скрипт, который авторизует пользователя и затем предоставит файл, либо напрямую, либо через mod_xsendfile.

0 голосов
/ 19 мая 2011

Поместите эти строки в корневой файл .htacess, чтобы заблокировать доступ к content/4dc32b1c0a630.png для неаутентифицированных пользователей:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{LA-U:REMOTE_USER} ^$ 
RewriteRule ^content/4dc32b1c0a630\.png/?$ - [R=403,L]

Однако я бы посоветовал вам использовать подстановочные знаки (если это возможно) для сопоставления заблокированных файлов выше, а не перечислять каждый отдельный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...