Неординарный вопрос по .htaccess

2k

Guest
Неординарный вопрос по .htaccess

У меня есть директория images, в которой лежат вся графика сайта. (Сайт на пхп) Мне нужно чтобы все картинки показывались с php страниц корневой директории сайта, но при этом если ввести в адрессную сторку это:
http://www.site_name.com/images/number.jpg
чтобы фотку не выводило на экран... Возможо ли организовать через .htaccess? Если нет, то как сделать вообще?
 

alexhemp

Новичок
Вопрос абсолютно ординарный.

Все что можно сделать - это проверять Referrer с помощью mod_rewrite. Это особо не спасет если скачать захотят, ибо поле это формируется клиентом.
 

Фанат

oncle terrible
Команда форума
способ для бедных: проверять реферер мод-реврайтом.
не всех отсеет, некоторых честных не пустит.
способ для умных: отдавать файлы скриптом.
подробно рассмотрен на форуме
 

SelenIT

IT-лунатик :)
А смысл? Что и от кого это должно защитить, если речь идет об обычной графике сайта? Ведь при показе страницы картинки все равно будут грузиться в кэш браузера...
 

2k

Guest
Посик по этой сроке ничего полезного не дал
'отдавать файлы скриптом'
Всюду говорят про это и говорят поискать на форуме!
 

SelenIT

IT-лунатик :)
2k, моя телепательная машинка упорно шепчет, что тебе это, возможно, и не надо. Пожалуйста, объясни конечную цель своей задачи.
 

Фанат

oncle terrible
Команда форума
2k
и чего ты таки хочешь?
чтобы мы за тебя занялись поиском по форуму или в сотый раз начали излагать тебе по полочкам, как это делается?
 

2k

Guest
Ну вообще-то я задаю вопрос исключитель для того,ч тобы получить на него ответ... Вы знаете, но явно не стремитесь на него ответить... я понимаю, что ломает...
Вы же сказали, что вопрос ординарный... а сами спрашивате, что имею ввиду... (я не настаиваю на его неординарности!)
Смысл в том, чтобы нельзя показать мою картинку не на моём сайте... Я просто хочу рзрешить доступ только с index.php...
 

crocodile2u

http://vbolshov.org.ru
Фанат
способ для умных: отдавать файлы скриптом.
Ему ж нужно картинки на странице показывать. Ну сделает он файл image.php, который будет отрисовывать нужные картинки. Что мешает мне на своей странице сделать
PHP:
<image src="его.сайт/images/image.php?image=нужная_мне_картинка"/>
Имхо, сделать то, что автор хочет, невозможно. Можно только навесить костыль вроде проверки реферера.
--- -------
Сходил покурить и придумал следующий изврат:

показывать картинки таким способом:
<img src="/images/my.gif?secret_code"/>

В папке /images поместить .htaccess такого содержания

RewriteEngine On

RewriteBase /images/

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} !secret_code
RewriteRule ^.+\.(jpg|gif) index.php [L]

secret_code хранится в отдельном файле, и доступен только скриптам.
Этот файл, а также .htaccess обновляется по крону через определенное время.

Подчеркну: как таковой защитой это не является, скорее это тоже костыль вроде проверки реферера, но позволяет избежать некоторых нежелательных последствий.
 

2k

Guest
ok... а как вам такой вариант:
когда заходишь на страничку с картинкой, ip пользователя записывается в .htaccess (ему разрашается доступ к файлу с картинкой) и соответственно грузится картинка... каогда пользователь закрывает окошко браузера - содержимое файла .htaccess меняется (из него стирается ip данного пользователя)...
Картинка не грузится...:)
Что не так?
И ещё: в таком случае, если картинка уже загружалась, то она должна сохраниться в TemporaryInternetFiles... будет ли она открываться при обращении к картинке на прямую по ссылке?
 

2k

Guest
В JS есть такая штука, как onUnload...
Функция может быть какая-нибудь такая:
window.open(theURL,winName,features);
для большей красоты можно указать координаты окна так, чтобы его совсем не было видно на экране пользователя...
Потом окошко закрывается...
Есть комментарии по поводу того, почему этот способ может не пройти?
 

Фанат

oncle terrible
Команда форума
есть.
мой проксомитрон режет такие шутки на корню, поскольку уродов-любителей что-нибудь открыть на закрытие окна, в интернете предстаточно.
если я открою два окна на сайте, а потом закрою одно из них, ты выкинешь меня из обоих.
в общем - право твоё, конечно, но защищая свой никому не нужный контент ты больше посетителей потеряешь.

Жадность - один из смертных грехов.
И бог наказывает за него.
Тебе надо хорошенько это запомнить
 

fixxxer

К.О.
Партнер клуба
перетиралось тыщу раз.
варианта два
1) проверять реферер, НО пускать при пустом или невалидном (не парсящемся parse_url-ом) реферере, дабы не отсекать пользователей Kerio и тп.
2) стартовать сессию
у обоих способов очевидные недостатки, но лучше вы ничего не придумаете.
 

2k

Guest
А может по человечески объясните? Или хотя бы, где это объяснено?
Я совсем не жадный.. честно говоря, просто интересно...
Я написал вроде бы...
http://www.cevep.ru/2k/imip/?n=i
(i принимает значения от 1 до 3)
А как тогда не открывая окошко запустить пхп файл?
При этом доступ на прямую к фоткам закрыт, когда вы не на странице, содержащей картинку...

Чёрт! На домашнем Apache всё работает... а на серваке (linux) не пашет...
А как там обстаят дела с .htaccess?
Такой же синтаксис? И вообще он эти файлы чувствует?
 
Сверху