Защита от hotlinking - Компьютерная документация по Windows. Оптимизация Windows.
 Компьютерная документация по Windows. Оптимизация Windows.  Компьютерная документация по Windows. Оптимизация Windows. Поиск
  Здравствуйте  [ Новый пользователь ] Домой  .  Статьи по темам  .  Компьютерная документация  .  Личный кабинет  .  Toп 10  .  Карта сайта  

  Навигация

 Главная   Главная
 Главная   Магазин софта
 Темы новостей   Темы новостей
 Топ 10   Топ 10
 Архив новостей   Архив новостей
 Карта сайта   Карта сайта
 Конструктор   Конструктор
 Обзоры   Обзоры
 Интересное   Интересное
 Рассылка новостей   Рассылка новостей
    Полезные ресурсы
 Пользователи   Пользователи
 Поиск   Поиск
 Написать нам   Написать нам
 Тест скорости   Тест скорости


  Наши темы
Windows 8
Windows 7
Windows Vista
Windows XP
Настройка Windows
Реестр Windows
Восстановление системы
MS-DOS
BIOS
Интернет
Microsoft Office
Сетевые настройки
Обработка видео
Вебмастеру
Оптимизация Windows
Обзор софта
Технологии, обзоры
Обзоры компьютеров и комплектующих
Рецензии
Полезные советы
Продвижение сайтов

Новые обзоры

Как заработать на ремонте компьютеров

Переработка отходов электроники

Типовые неисправности I:Phone, Pad, Pod и Macbook

Место для вашей электронной души

Ремонт компьютеров в Москве


Защита от hotlinking

Размещено 05/11/2007

Вебмастеру

У меня появилась очень полезная для некоторых вебмастеров информация о .htaccess... Речь идет о том, чтобы ограничить использование картинок с вашего сервера нехорошими людьми. Зачем это надо? А надо это потому, что некоторые хостинги требуют оплаты за трафик.

Представьте себе ситуацию, когда один добрый, хороший и приятный во всех отношениях человек разместил на своем сайте коллекцию картинок - кадров из какого-нибудь популярного фильма. Картинки пользуются большой популярностью, народ активно смотрит их. Это, естественно, выливается в неплохой исходящий трафик с сервера. Для примера - этот сайт порождает трафика примерно на 5-6 Гб в месяц, и это при почти полном отсутствии картинок! Сайт же, ориентированный на картинки (ну не надо меня обвинять в поддержке xxx сайтов...), способен порождать трафик сотнями Гб. в месяц. И за все это надо платить (например, по 2.5 доллара за 1 Гб).



И вдруг этот чудесный, замечательный альтруист замечает, что трафик увеличился вдвое, при той же посещаемости. Следовательно, платить надо в два раза больше! Почему? Оказывается, какой-то крайне нехороший человек тоже сделал сайт с теми же картинками. Но, поскольку такие картинки в сети уже есть, нехороший человек решил заодно не тратить свой трафик и использовать картинки с хоста хорошего человека. И правда, тег img вовсе не запрещает использование картинок с других хостов, знай пиши полный путь. И радуется нехороший человек! Напакостил и счастлив.

Что же делать хорошему человеку? Закрывать сайт? Нет! Великий защитник человечества - .htaccess - приходит на помощь! Можно, оказывается, сделать так, чтобы картинки можно было использовать только тому хосту, на котором они находятся. И сделать это можно даже несколькими способами - либо через функции apache, либо через mod_rewrite (модуль apache, занимающийся перенаправлением на другие страницы).

Сначала посмотрим, как это можно сделать через mod_rewrite. Для этого надо определить, откуда пришел посетитель - если со своих страниц, то пустить его к картинке. Иначе - послать далеко и надолго, а лучше всего на спонсора :) Делается это через переменную http_referer. Вот это надо приписать в .htaccess:

authuserfile /dev/null
authgroupfile /dev/null
rewriteengine on
rewritecond %{http_referer} !^http://www.webhowto.ru/
rewritecond %{http_referer} !^http://webhowto.ru/
rewritecond %{http_referer} !>http://www.webhowto.ru:80 [nc]
rewritecond %{http_referer} !>http://webhowto.ru:80 [nc]
rewriterule /* http://www.yoursponsor.com/click.cgi [r,l]

А теперь представьте себе, как работает mod_rewrite. Вся проблема в том, что обработка запроса сервером происходит в несколько этапов. Вкратце: сначала apache обрабатывает url, а затем ставит им в соответствие файлы. Беда в том, что обработка .htaccess происходит уже после обработки url, поэтому чтобы обработать инструкции mod_rewrite корректно, apache делает два раза одно и то же. Естественно, это сильно тормозит сервер.

Есть более удобное решение. В httpd.conf в секцию, относящуюся к папке, либо в .htaccess можно добавить инструкции серверу не отдавать картинки незнакомым клиентам. Это делается так:

setenvifnocase referer "^http://www.webhowto.ru" local_ref=1

order allow,deny
allow from env=local_ref

Ура! Работает! В смысле, не работает! :)

Остается добавить, что вы вполне можете точно так же сделать защиту не только для jpg и gif, но и для любых других файлов, см. документацию по apache на предмет синтаксиса бокса filesmatch. Вот и все, на сэкономленные деньги купите себе халвы и наслаждайтесь

Автор статьи: Михаил Соловьёв
Сайт:webhowto.ru
 



Примечание: Агентство недвижимости предоставляет аренда жилья Москвы

 



Компьютерная документация по Windows Copyright © 2008-2019