Баннерная реклама. Только не бейте…
К сожалению, фильтровать рекламу «в телевизоре» мы не научились, зато худо-бедно фильтруем рекламу в Интернете. Кто-то ставит AtGuard, кто-то настраивает Squid, кто-то — надеется на «ускорители Интернет». О том как очистить свой виртуальный мирок от баннеров сказано достаточно. Я же хочу восстановить справедливость — защитить владельцев сайтов от программ вырезающих баннеры.
Для начала отмазка. Почему-то считается, что баннеры — это зло. Они засоряют канал и снижают скорость загрузки любимого ресурса. Никто и не задумывается, как и на какие деньги, эти самые «любимые ресурсы» существуют. Так вот, открою вам глаза. Любимые ресурсы существуют за счет показов так нелюбимых баннеров. А внося свой вклад в урезание баннерных показов, вы тем самым способствуете банкротству Веб-проектов.
Итак. Для начала надо разобраться, как собственно осуществляется фильтрация подобного рода. Все очень просто. Пользователь (или изготовитель фильтра) прописывает некий набор правил, согласно которым, программа определяет, что есть баннер, а что — нет. Напрашивается вывод: чтобы ваши баннеры проходили «фейс-контроль» надо:
- Либо назвать их так или сунуть в такой каталог, что бы правила, заданные в программе, их не опознали;
- Либо сделать что-то, что бы добавить правило (а значит отличить баннер от не-баннера) не представлялось возможным.
Первый вариант отметаем сразу. По очевидным соображениям — если правил, заданных в программе, не хватает для опознания, пользователь добавит новое. Вариант номер два кажется более привлекательным, только как достичь того о чем я говорю?
Нужно будет внести кое-какие изменения в баннерную систему и в настройки Веб-сервера. Начнем с баннерной системы.
Во-первых, баннеры нужно называть совершенно произвольным образом, не придерживаясь никаких правил. Например: tri-gusia-i-utka.gif, a.gif, 1808500.jpg и т. д.
Во-вторых, скрипт, показывающий баннеры, должен подставлять в атрибут SRC правильные имена баннеров и случайным образом полученные пути. Должно получаться что-то вроде:
<IMG SRC=http://your.host.ru/aa12/a.gif>
<IMG SRC=http://your.host.ru/priale/sila/duaa1/1808500.jpg>
и т. д.
Популярные Веб-сервера (по крайней мере Apache и IIS) предоставляют возможность задать произвольную реакцию на ошибку 404 (файл не найден). Изготавливается скрипт, который будет вести себя следующим образом: при запуске он проверяет какая страница была запрошена, если это GIF- или JPEG-файл (для Apache — анализируется переменная REQUEST_URI), то скрипт пытается найти баннер с таким именем. Если находит — показывает, не находит — сообщает об ошибке «файл не найден».
Остается добавить, что схема успешно испытана и скоро будет запущена под одним из региональных порталов. Парочку подводных камней предлагается найти и разбить самостоятельно. Чтобы жизнь малиной не казалась. :)