|
|
|
|
|
для: cheops
(17.10.2007 в 17:14)
| | эх, всё ясно.
защита картинке в инете, это пока не збываемая мечта((( | |
|
|
|
|
|
|
|
для: Onebythinkart
(17.10.2007 в 15:21)
| | Так в том и дело, что к файлу (картинке) обращается не сайт, а браузер(клиент) и разницы в том, где расположена ссылка - на вашем сервере или на удалённом нет - грузит один и тот же браузер клиента, под каждую картинку формируется отдельный запрос - этот запрос ничем не отличается от того, находится клиент у вас на сайте или открывает ваше изображение со стороннего сайта. | |
|
|
|
|
|
|
|
для: Onebythinkart
(17.10.2007 в 15:21)
| | Переправить через mod_rewrite все запросы на какой-нибудь файл а там уж глядеть заголовки и переменные | |
|
|
|
|
|
|
|
для: cheops
(17.10.2007 в 13:48)
| | А реально ли с помощью .htaccess опредеить что за сайт обращается к файлу(той же картинке)?!?! | |
|
|
|
|
|
|
|
для: Onebythinkart
(16.10.2007 в 20:27)
| | >в том то и дело, что на исходном, сайте эти эзабражения вообще никак не появляются
А как тогда разработчики удалённого скрипта узнают об исходном пути к изображению?
Вообще, для ограниченного выдачи чего либо, это что-то помещается в директорию закрытую от просмотра через бразуер при помощи конфигурационного файла .htaccess. Далее выдаём пользователю ресурс через PHP-скрипт (на локальные обращения файл .htaccess не влияет). В этом скрипте можно проверять переменную $_SERVER["HTTP_REFERER"]. Однако, ситуация будет ровно такая как я описал - переход из поисковой системы будет приводить к тому, что изображение не отображается (рефере указывает на страницу поисковой системы), владельцы Opera, которые отсекают referer и Outpost также ничего посмотреть не смогут. Зато злоумышленик, обратившийся к вашему хосту напрямую при помощи скрипта - всегда сможет перекачать изображения, так как подделать реферер труда не составляет. | |
|
|
|
|
|
|
|
для: cheops
(16.10.2007 в 12:09)
| | оооо, в том то и дело, что на исходном, сайте эти эзабражения вообще никак не появляются, т.е. не таким способом.
эту ссылку будут грузить только удалённые серверы.
Хотелось понять алгоритм скрипта,
мне думается это будет выглядеть так:
Сначало проверяем чему равна переменная $_SERVER["HTTP_REFERER"], и если она равно искомому, то передаём через header() эту картинку. Я правильно размышляю?!
PS если это не верно, то получается сделать защиту просмотра картинок сайтам которых нет в списке, не возможно??? | |
|
|
|
|
|
|
|
для: vbps
(15.10.2007 в 14:59)
| | Изображение грузится браузером - браузер будет обращаться к вашему серверу за изображением никак не идентицицируя, что он параллельно работает с другим сервером, на котором указана ссылка на изобаржение.
$_SERVER["HTTP_REFERER"] - штука не надёжная, т.е. если человек напрямую попадает на страницу, например, из поисковой системы - изображения он не увидит, если у него в Opera установлена блокировка Referer - он изображения не увидит, если у него в FireWall стоит блокировка этого заголовка - обратно изображение будет недоступно. А злоумышленик в случае чего подделать реферер сможет всегда: сложится парадоксальная ситуация на удалённом сайте изобаржение будет доступно всегда, а на исходном - через раз. | |
|
|
|
|
|
|
|
для: vbps
(15.10.2007 в 14:59)
| | Что то я не уловил суть мысли, вроде cheops сказал, как я понял, что если человек пишет в теге IMG, то $_SERVER['HTTP_REFERER'] не передаётся, тогда не понятно, что вы хотели этим сказать?! | |
|
|
|
|
|
|
|
для: cheops
(15.10.2007 в 12:04)
| | можно проверить $_SERVER["HTTP_HOST"] и получить xoст из $_SERVER["HTTP_REFERER"] и сравнить, если не совпадает то отдать что то другое.
только придется прописать еще условия для поисковиков, а иначе картинки не будут участвовать в поиске | |
|
|
|
|
|
|
|
для: Onebythinkart
(14.10.2007 в 20:18)
| | Это невозможно - изображение грузится напрямую браузером, по сути браузер аналогичен человеку, набирающему адрес изображения в адресной строке. | |
|
|
|
|