| Каждый день мы с тобой гуляем по инету в поисках свежего софта, музыки, фильмов (правда, качаешь фильмы, буржуй?) и остальных полезных вещей. И ведь эти гигабайты где-то должны храниться. Кто-то (понятно кто - владелец сайта чаще всего) вынужден оплачивать хостинг. На помощь в таких случаях приходит реклама, которая, как известно, является двигателем рыночных отношений. Захотел юзер скачать веселых картинок с твоего сервера - пусть почитает рекламу спонсора. Захотел варез... т.е. бесплатным софтом полакомиться - пусть полюбуется красивыми попами. И все бы было хорошо, но хитрож... умные юзеры придумали всякие ухищрения вроде баннерорезок, попорубок, рекламозакрывалок и прочих фильтров. Да и сам ты, наверное, понаставил плагинов и файрволов, которые баннеры по размеру отсекают, да всплывающие окна блокируют, ага? Вот и остальные тоже. Картинку или файлик с твоего сервера сольют, а на баннеры болт положат. А вот твои же коллеги-сайтостроители дадут прямой линк на твое добро со своего сайта, словно на свою собственность, или картинку с твоего сервера в свой HTML-код вставят. Им будет почет и уважение, а тебе достанутся сплошные расходы и никакой благодарности.
Сайтовладельцы боролись с этим по мере своих возможностей. Не особо успешно, надо сказать. Все изменилось с появлением технологии anti-leech от компании WakeNet AB. Слово «leech», кроме своего прямого значения («пиявка»), переводится как «кровопийца». В нашем случае кровопийцами являются те, кто использует твои ресурсы в своих целях. Воры, проще говоря. Сайт www.anti-leech.com предлагает различные услуги в области защиты данных на веб-серверах: защита html-кода и скриптов, мыла от спам-ботов и не только. Я остановлю свой взгляд на самом интересном.
Воры идут лесом
Система защиты состоит из двух частей, работающих в паре. Первая - серверная часть - комплекс скриптов на твоем сайте. Вторая - клиентская - плагин к браузеру на стороне пользователя.
Серверная сторона решает две задачи. Во-первых, осуществляет управление твоими даунлоадами, то есть всем тем, что ты предлагаешь скачать со своего сайта. Антилич предлагает пакадж (package) - логически связанный набор файлов. Например, несколько песен, составляющих музыкальный альбом, или программу вместе с набором дополнительных модулей к ней.
Действия, которые можно осуществлять с пакаджами:
- создание, изменение и удаление;
- импортирование;
- шифрование;
- управление скачиванием файлов, входящих в состав пакаджа, а также проверка места, откуда была инициирована закачка файлов (поле «HTTP-Referer» в запросе браузера).
Вторая задача - сбор и анализ статистики скачивания.
Как оно работает
Клиент не видит реального расположения файлов, скачиваемых с твоего сайта. Он обращается по адресу http://<сервер> /<путь-до-public-каталога> /download.pl?package=<название-пака> . Сначала скрипт download.pl проверяет значение поля «HTTP-Referer» в запросе браузера, и, если оно не входит в список допустимых для твоего пака, процесс прерывается с сообщением «Access Denied». Затем download.pl посылает браузеру код страницы, в который включена ссылка на плагин http://plugin.anti-leech.com/alplugin.js. Этот код страницы называется шаблоном (template), ты можешь изменять его на свое усмотрение, нагружая баннерами или подгоняя под дизайн своего сайта. Но можешь оставить и дефолтную версию шаблона. Браузер скачивает пак с сервера (паки лежат в http://<сервер> /<путь-до-public-каталога> /packages) и выполняет плагин, который берет пак, расшифровывает его содержимое, проверяет его валидность и целостность, после чего показывает клиенту список файлов для скачивания. После этого клиент может начать загрузку.
Кстати, плагин глючит с русским языком, поэтому я в примере все сделал на английском, чтобы впечатление не портить.
Ставим противоугонную систему
Есть два варианта дистрибутива: под Windows и для UNIX-машин. Чтобы сэкономить время, я опишу процесс установки под Windows-систему ввиду ее чуть большей простоты. Для корректной работы системы необходимо, чтобы на сервере был установлен Perl (для Windows - Active Perl 5.6.x и выше, для UNIX - Perl 5.5.x и старше). Начнем с того, что создадим на сервере три директории: alinstall, public и private (под UNIX сразу поставь этим дирам права 777). Первые две должны находиться в пределах DocumentRoot твоего сервера, а директория private - вне DocumentRoot. Ко всем трем веб-сервер должен иметь доступ. Скачаем архив alinstall.zip (alinstall.tar.gz для UNIX-версии) и зальем его содержимое в директорию alinstall (она нам понадобится только в процессе установки). Теперь надо позаботиться о том, чтобы веб-сервер имел возможность запускать Perl-скрипты не только из CGI-BIN, но и из alinstall и public. Если это не разрешено по умолчанию (скорее всего, так и будет), создадим в них файл .htaccess, содержащий строку «Options +ExecCGI».
Предварительная подготовка окончена. Открывай браузер и пиши: http://mycoolsite.ru/alinstall/install.pl. Должен запуститься скрипт конфигурирования системы. Если вдруг этого не произошло или выскочила ошибка, проверь в настройках сервера, есть ли у него возможность исполнять скрипты НЕ из CGI-BIN, а также (если ты под никсами) проверь права исполняемых файлов. Но, допустим, все прошло удачно.
Смотрим, что у нас есть:
- System type (Windows, UNIX) - понятно, что это система, под которой работает сервер. Она должна определиться правильно.
- Public directory - каталог public, в который будет установлена система anti-leech. Он должен быть виден из интернета по адресу Url/Path_to_Public_directory.
- Private directory - содержит дополнительные скрипты и библиотеки, которые нужны системе. В нем же хранятся пакаджи, созданные тобой.
(С) ][ | |