Назад | Перейти на главную страницу

Запретить прямой вызов файла

Я даже не уверен, возможно ли это; Я на сервере apache. Для файла, расположенного по адресу:

http://www.example.com/dir/img.jpg

Цель состоит в том, что файл должен отображаться только на той странице, для которой он предназначен; он не должен быть доступен для просмотра напрямую. Это можно сделать?

Из Документация Apache:

Заблокированные встроенные изображения

Описание: Предположим, у нас есть под 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]