ВебстроительствоRambler's Top100


Рекламная баннерная сеть Петербурга

Главная | Об управленческом учете | О финансовых системах | О системах | О системщике | Ловушки | О деньгах | Об аудиторах | Кто такой CIO? | Глоссарий | Улыбнись | Галереи и открытки | Отдохни! | Вебмастерам | О баннерообмене | Scalaлазам | Гостевая | Каталог | Написать письмо | Поиск | Моя библиотека | Карта сайта | Об авторе

Однажды, анализируя статистику сервера, я заметил, что увеличился трафик, но не за счет обычных html страниц, а за счет файлов .jpg, которые вызываются с других серверов. Разумеется, мне тут же захотелось посмотреть, кто же это такой хитрый. Перейдя на страницу, я попал на онлайновый журнал, где один из авторов делится своей находкой - изображением из виртуальной художественной галереи, причем даже обычной ссылки на местоположение оригинала привести не удосуживается, просто вызывает изображение рядом с текстом своих комментариев и «вся любовь». Вам бы такое понравилось? Сомневаюсь. Мне тоже. Естественно, первым желанием было «запретить!» Но как? Не буду приводить историю поисков, скажу только, что с помощью директив сервера Apache сделать это не составляет особого труда и уже через полчаса вместо картины из коллекции Путина на чужой странице стал красоваться пустой квадратик с крестиком. Однако красовался он не долго, так как уже на следующий день меня посетила мысль «А нельзя ли факт воровства обратить себе на пользу?» И я создал рекламную картинку и «попросил» Apache выдавать ее взамен вызываемых. Механизм прост: если вызов картинки осуществляется с referer'ом не с сервера virtualgallery.org.ru или вообще без referer'а, тогда выдавать взамен figvam.gif

Как это сделать? Рассмотрим код:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^.*virtualgallery\.org\.ru.*$ [NC]
RewriteRule .*\.(gif|jpg)$ /img/figvam.gif

Вышеуказанный текст помещается в файл ".htaccess", который мы кладем в каталог, картинки из которого мы не разрешаем загружать в чужие страницы.

А теперь поподробнее:
"RewriteEngine on" - включаем механизм
"RewriteCond %{HTTP_REFERER} ^$ [OR]" - если пустой referer или
"RewriteCond %{HTTP_REFERER} !^.*virtualgallery\.org\.ru.*$ [NC]" - referer не пустой, но вызов осуществляется не со страницы сервера virtualgallery.org.ru (причем мы просим анализировать referer без учета регистра)
"RewriteRule .*\.(gif|jpg)$ /img/figvam.gif" - тогда все, что начинается как угодно, но кончается на .gif или .jpg заменить на "figvam.gif" из каталога "img"

Давайте посмотрим, что получится:

Автопортрет автора статьиСюда пробуем вызвать какую-нибудь картинку из каталога сайта virtualgallery.org.ru, где определено такое правило и посмотрим, что из этого получится. Видите?

html код, с помощью которого я пытаюсь это сделать, следующий:
<img SRC="http://virtualgallery.org.ru/gallery/aav/aav-t.jpg" ALT="Автопортрет автора статьи" align=left width="200" height="150">Сюда пробуем вызвать какую-нибудь картинку из каталога сайта virtualgallery.org.ru, где определено такое правило и посмотрим, что из этого получится. Видите?

Для примера здесь Вы можете убедиться, что с собственной страницы virtualgallery.org.ru загружает картинки обычным образом

Спасет ли это о воровства картинки, как такового? Разумеется нет. Картинка, загруженная со страницы Вашего сайта, может быть сохранена или уже сохранена во временном каталоге обозревателя Интернета. Впрочем, такой задачи и не ставилось.

Алексей Васильев, 09-10.09.2004

[Главная страница раздела] [О хостинге на Newmail.ru] [О хостинге на By.ru] [О стандартных (предустановленных) скриптах] [Как запретить загрузку картинок на страницы чужих сайтов] [Статистика поисковых фраз] [Утилита проверки ссылок] [Утилита проверки доменных имен] [Ссылкообмен]

Реклама на сайте:

Добавить в закладки и поделиться:

Рейтинг.Mail.ru Rambler's Top100

© Алексей Васильев. 2000-2009. При использовании материалов ссылка обязательна.