|
Однажды, анализируя статистику сервера, я заметил, что увеличился трафик, но не за счет обычных 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]
[О стандартных (предустановленных) скриптах]
[Как запретить загрузку картинок на страницы чужих сайтов]
[Статистика поисковых фраз]
[Утилита проверки ссылок]
[Утилита проверки доменных имен]
[Ссылкообмен]
|