Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > htaccess запрет на просмотр изображений


Автор: DontNo 31.8.2010, 16:21
Решил сделать галерею. а в галереи возможность наложения ограничений на просмотр фотки, типа только для друзей, и т.п.
Фотки решил с помощью скрипта выводить, но проблема в том, что можно фотки просмотреть через ссылку:
сайт/папка/название.расширение

как запретить доступ к папке из вне?
перепробовал все способы какие нашел в инете, что тока не писал в .htaccess результат один - фотки можно просмотреть...

может кто знает в чем проблема и как ее решить?

Автор: IgorIV 31.8.2010, 19:35
Если через скрипт, то храни изображения в другом месте. Потом
Код

imagejpeg($image);

Автор: DontNo 31.8.2010, 22:20
ну это не совсем то, что нужно.
все таки вопрос был как запретить просмотр директории, где лежат картинки.
видимо на уровне аксеса это не решается...

Автор: IgorIV 1.9.2010, 07:17
Каким образом сервер может отличить две ссылки
<img src="http://site.ru/image.jpg"  />
и
http://site.ru/image.jpg
Куки? Реферер? Это не выход, и то, и другое можно подделать или отключить.
Если правда найдется решение, буду благодарен smile

Автор: Nigel 1.9.2010, 14:18
Одно из простых решений:
в папку с картинками положить .htaccess с содержанием
Код

deny from all

Картинки выводить через скрипт:
Код

header("Content-type: image/jpeg");// image type
readfile($image);

Автор: skyboy 1.9.2010, 14:24
в случае больших файлов/большой нагрузки, лучше использовать X-SendFile или аналог

Автор: DontNo 1.9.2010, 15:27
Цитата(IgorIV @  1.9.2010,  07:17 Найти цитируемый пост)
Каким образом сервер может отличить две ссылки
<img src="http://site.ru/image.jpg"  />
и
http://site.ru/image.jpg
Куки? Реферер? Это не выход, и то, и другое можно подделать или отключить.
Если правда найдется решение, буду благодарен smile 


определять по айпи который запрашивает картинку, ниже показан пример. но он не работает.

Цитата(Nigel @  1.9.2010,  14:18 Найти цитируемый пост)
Одно из простых решений:
в папку с картинками положить .htaccess с содержанием
Выделить всёБез подсветки
1:
    
deny from all

Картинки выводить через скрипт:
Выделить всёкод PHP
1:
2:
    
header("Content-type: image/jpeg");// image type
readfile($image);


пробывал "deny from all" не помогло, пробывал и через
Код

 <Files ~ ".(gif)$">
   Order allow,deny
   Deny from all
</Files>

не помогает.

Автор: Nigel 1.9.2010, 16:08
Что значит "не помогло"?

Автор: DontNo 1.9.2010, 20:05
это означает, что я всеравно могу просматривать картинки вводя адрес:
сайт/папка/название.расширение

Автор: IgorIV 1.9.2010, 20:22
DontNo, где пример с айпи?

Добавлено через 7 минут и 47 секунд
Установи директиву http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride в All

Автор: WebPro 23.10.2010, 12:06
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)