
Я даже не уверен, возможно ли это; я на сервере Apache. Для файла, расположенного по адресу:
http://www.example.com/dir/img.jpg
- Разрешить загрузку этого изображения на странице, вызываемой из этого каталога.
- Запретить загрузку этого изображения напрямую; т.е. указанный выше URL не должен загружаться
- Запретить ссылаться на это изображение со страницы, расположенной в другом месте
Цель состоит в том, чтобы файл мог отображаться только на той конкретной странице, для которой он предназначен; он не должен быть доступен для просмотра напрямую. Можно ли это сделать?
решение1
Заблокированные встроенные изображения
Описание: Предположим, что у нас есть http://www.quux-corp.de/~quux/некоторые страницы со встроенной графикой GIF. Эта графика хороша, поэтому другие напрямую включают ее через гиперссылки на свои страницы. Нам не нравится эта практика, потому что она добавляет бесполезный трафик на наш сервер.
Решение: Хотя мы не можем на 100% защитить изображения от включения, мы можем по крайней мере ограничить случаи, когда браузер отправляет заголовок HTTP Referer.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
RewriteRule .*\.gif$ - [F]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$
RewriteRule ^inlined-in-foo\.gif$ - [F]