Приветствую вас, читатели DaMaGeLab! Сегодня я подготовил для вас
одну интересную тему. Может быть это будет некоторым продолжением
предыдйщей моей статьи про хостинг, а может и не очень, все зависит от
того с какой стороны смотреть, ну ладно, хватит лирики.
Собственно идея написания:
Всем известен замечательный факт - стата вещь очень полезная.
Однако не всегда мы можем воспользоваться серверной статистикой
того хостинга, где располагается наш софт. Это касается в том числе
и вопроса о микросвязках, к которому планирую вернуться в ближайшее время.
Можно конечно навертеть своей статистики, пользуюя файлы или там мускул, но...
Это не всегда оправдано, да и не факт что хостинг располагает интерпретатором
PHP (да представьте себе такое бывает
) Не будем вдваться в подробные изыскания
на тему "а накой хрен оно нам надо", я думаю если направить некоторое количество
оставшихся в черепной коробке серого вещества на данную тему, то ответ придет сам.
Давайте рассмотрим, например, микросвязку, установленную на донор-сервере.
Если мы вставим в индекс какую либо ссылку на наш модуль статистики (каков бы он ни был),
то создадим совершенно ненужную нагрузку на наш evil хост, да и идея микросвязки от
этого серьезно пострадает.
Ну так вот, предлагаю следующее решение (каюсь, в некотором роде подсмотрел у
мегапрограммеров из страны восходящего солнца):
мы будем пользовать модули статистики, в ассортименте представленные на просторах
сети.
Итак, что же нам потребуется?
1. Код, встраиваемый в индекс на донор-сервере, не вызывающий подозрений у
юзеров/админов.
2. Скрипт (админка) для отображения статы посещений донор-сервера, возможно
скрещенная со статистикой обращений к скрипту лоадеру нашего мега троя/лодыря.
В качестве примера я решил заюзать очень распространенный модуль
Liveinternet.ru. Не спрашивайте меня почему именно этот - просто под руку попался.
Если мы ознакомимся с правилами предоставления услуг статы, то заметим несколько
неприятных моментов: идет привязка к доменному имени и за инвизибл счетчик надо
ПЛАТИТЬ денушку.
По большому счету нас ни то ни другое не устраиват, что же, давайте со свойственным
нам энтузиазмом порвем в клочья надежду статистов заработать на нас
Во первых разделаемся с привязкой к доменному имени.
если проанализировать предлагаемый нам код счетчика:
То можно выделить там волшебные параметры, передаваемые GET запросом:
1. r = escape(document.referrer);
2. u = escape(document.URL)
Реф нас не очень то интересует, а вот document.URL... мы просто можем затолкать туда
любой, зашифровав его от пытливых глаз пользователей (это уже без меня).
Ну и, наконец, width='31' height='31' это дофига, пускай габариты будут равны нулю.
Итак мы получили код счетчика, который невидим, и привязан к нужному домену
нафига платить 3 бакса в месяц? Лучше попейте пива на них
.
Теперь озадачимся вопросом об получении информации с сервера ЖивогоИнтернета.
Я хочу предложить вам несложный скрипт на PHP, который может лежать где угодно
лишь бы интерпретатор был влюблен в curl и варил perl-совместимые регэкспы.
Все просто как грабли, к тому же позволяет прикрыть от пытливых глаз вашу
стату под паролем на LiveInternet. Если развивать тему, то к этому
скрипту можно прикрутить очень много всяких фич (начиная от графиков самопальных
и заканчивая полноценной безмускульной админкой с подсчетом инсталлов и
процента пробива) все зависит от прымоты рук кодера.
Если кто возьмет методику на вооружение - рекомендую парсить выдачу
статы для версии PDA - это позволит уменьшить траф и увеличить быстродействие.
Всем удачи! Мои бредовые записки специально для DaMaGeLab!
одну интересную тему. Может быть это будет некоторым продолжением
предыдйщей моей статьи про хостинг, а может и не очень, все зависит от
того с какой стороны смотреть, ну ладно, хватит лирики.
Собственно идея написания:
Всем известен замечательный факт - стата вещь очень полезная.
Однако не всегда мы можем воспользоваться серверной статистикой
того хостинга, где располагается наш софт. Это касается в том числе
и вопроса о микросвязках, к которому планирую вернуться в ближайшее время.
Можно конечно навертеть своей статистики, пользуюя файлы или там мускул, но...
Это не всегда оправдано, да и не факт что хостинг располагает интерпретатором
PHP (да представьте себе такое бывает
на тему "а накой хрен оно нам надо", я думаю если направить некоторое количество
оставшихся в черепной коробке серого вещества на данную тему, то ответ придет сам.
Давайте рассмотрим, например, микросвязку, установленную на донор-сервере.
Если мы вставим в индекс какую либо ссылку на наш модуль статистики (каков бы он ни был),
то создадим совершенно ненужную нагрузку на наш evil хост, да и идея микросвязки от
этого серьезно пострадает.
Ну так вот, предлагаю следующее решение (каюсь, в некотором роде подсмотрел у
мегапрограммеров из страны восходящего солнца):
мы будем пользовать модули статистики, в ассортименте представленные на просторах
сети.
Итак, что же нам потребуется?
1. Код, встраиваемый в индекс на донор-сервере, не вызывающий подозрений у
юзеров/админов.
2. Скрипт (админка) для отображения статы посещений донор-сервера, возможно
скрещенная со статистикой обращений к скрипту лоадеру нашего мега троя/лодыря.
В качестве примера я решил заюзать очень распространенный модуль
Liveinternet.ru. Не спрашивайте меня почему именно этот - просто под руку попался.
Если мы ознакомимся с правилами предоставления услуг статы, то заметим несколько
неприятных моментов: идет привязка к доменному имени и за инвизибл счетчик надо
ПЛАТИТЬ денушку.
По большому счету нас ни то ни другое не устраиват, что же, давайте со свойственным
нам энтузиазмом порвем в клочья надежду статистов заработать на нас
Во первых разделаемся с привязкой к доменному имени.
если проанализировать предлагаемый нам код счетчика:
Код:
<!--LiveInternet counter--><script type="text/javascript"><!--
document.write("<a href='http://www.liveinternet.ru/click' "+
"target=_blank><img src='http://counter.yadro.ru/hit?t38.6;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random()+
"' alt='' title='LiveInternet' "+
"border='0' width='31' height='31'><\/a>")
//--></script><!--/LiveInternet-->
1. r = escape(document.referrer);
2. u = escape(document.URL)
Реф нас не очень то интересует, а вот document.URL... мы просто можем затолкать туда
любой, зашифровав его от пытливых глаз пользователей (это уже без меня).
Ну и, наконец, width='31' height='31' это дофига, пускай габариты будут равны нулю.
Итак мы получили код счетчика, который невидим, и привязан к нужному домену
нафига платить 3 бакса в месяц? Лучше попейте пива на них
Код:
<script type="text/javascript">
document.write("<img src='http://counter.yadro.ru/hit?t38.6;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(http://evelhost.ru)+
";"+Math.random()+
"border='0' width='0' height='0'><\/a>")
</script>
Я хочу предложить вам несложный скрипт на PHP, который может лежать где угодно
лишь бы интерпретатор был влюблен в curl и варил perl-совместимые регэкспы.
Код:
<?php
// Производим настройку на сайт
$site_url = 'http://evilhost.ru';
$site_pass = 'pass';
$date = '2009-08-12';
// Делаем запрос
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.liveinternet.ru/stat/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "url=" . urlencode($site_url) . "&password=" . urlencode($site_pass));
preg_match('|<A HREF="(.+)">|U', curl_exec($curl), $matches);
curl_setopt($curl, CURLOPT_URL, $matches[1] . ';lang=en;date=' . $date);
curl_setopt($curl, CURLOPT_POST, 0);
curl_close($curl);
preg_match_all('|<td>.+</td>|U', curl_exec($curl), $matches);
// Выводим полученные данные
echo 'Pageviews: ' . $matches[0][7] . '
';
echo 'Sessions: ' . $matches[0][12] . '
';
echo 'Visitors: ' . $matches[0][22] . '
';
echo 'Hosts: ' . $matches[0][27] . '
';
?>
стату под паролем на LiveInternet. Если развивать тему, то к этому
скрипту можно прикрутить очень много всяких фич (начиная от графиков самопальных
и заканчивая полноценной безмускульной админкой с подсчетом инсталлов и
процента пробива) все зависит от прымоты рук кодера.
Если кто возьмет методику на вооружение - рекомендую парсить выдачу
статы для версии PDA - это позволит уменьшить траф и увеличить быстродействие.
Всем удачи! Мои бредовые записки специально для DaMaGeLab!