Скрипт статистики посещений поисковыми ботами

Лично мне очень любопытно, какой бот когда заходил ко мне на сайт и что смотрел. Если Вы также имеете заинтересованность в ведении подобного учета посещений сканерами, Вам обязательно пригодится данный скрипт.

Скрипт написан на PHP (возможна работа как в режиме PHP-как-модуль-Апача, так и в PHP-как-FastCGI), полностью валиден (в рамках соответствия стандартам XHTML11, XHTML1/Strict и CSS/3), имеет гибкую систему настроек и панель настройки ботов.

Скрипт: botstat.zip
Обновление до текущей версии (с версии 1.3.11): botstat_upgrade.zip

Версия: 1.03 (rev.0015)
Последнее обновление: 06.11.2009, 20:43 мск

Список изменений версии 1.03.0015:
• [!] Устранена критическая проблема безопасности.
• [+] Доработан механизм автоматического информирования администратора о наличии новых версий.
• [*] Исправлен баг, в результате которого не фиксировались посещения одним из ботов Rambler‘а.
• [*] Исправлен баг, возникающий при одновременном добавлении 5 ботов в админке.

Список изменений версии 1.03.0011:
• [!] Устранена критическая проблема безопасности.
• [+] Добавлен механизм автоматического информирования администратора о наличии новых версий.
• [+] Усовершенствовано отображение ботов с длинными строками User-Agent.

Список изменений версии 1.02.0008:
• [+] Усовершенствован механизм постраничного разбиения.
• [*] Мелкий багфикс.

Список изменений версии 1.02.0007:
• [+] Добавлено постраничное разбиение в режиме просмотра детального списка посещений выбранным ботом.
• [+] В панели администратора добавлена опция единовременной ручной очистки детализированного лога.

Список изменений версии 1.01.0004:
• [+] Усовершенствована панель администратора: реализована в виде многовкладочного окна, теперь абсолютно все настройки можно редактировать не прибегая к редактированию файлов.
• [*] Множественный мелкий багофикс.

Пример использования (уровень доступа – пользователь): bots.php

Инструкция по установке:

  1. Распакуйте архив в корень вашего сайта
  2. Добавьте следующий фрагмент в файл .htaccess:
    <Files "bot_stat.*">
    Order Allow,Deny
    Deny from All
    </Files>
     
    <Files "bots_*">
    Order Allow,Deny
    Deny from All
    </Files>
     
    <Files "bots.php">
    	<IfModule mod_fastcgi.c>
    	<IfModule mod_rewrite.c>
    		RewriteEngine On
    		RewriteCond %{HTTP:Authorization} !^$
    		RewriteRule ^(.+)\.php$ $1.php?HTTP_AUTH=%{HTTP:Authorization} [QSA,L]
    	</IfModule>
    	</IfModule>
    </Files>
  3. Добавьте следующий код:
    <?php require_once 'bot_stat.php'; ?>

    в файл, общий для всех страниц Вашего сайта (предпочтительно – в начало файла ‘header.php’)

  4. Настройте права доступа к файлам:
    Оптимистичный вариант: есть возможность сменить владельца файлов:

    • Смените владельца всех файлов скритпа на ‘apache’
    • Установите права 644 на все файлы скрипта

    Пессимистичный вариант: возможности ограничены хостером:

    • Установите права 666 на файлы: bot_stat.log, bot_stat.txt, bots_settings.php
    • Установите права 644 на остальные файлы.
  5. Приступим к настройке конфига (файл ‘bots_settings.php’):
    • Админ (имеет право вносить и удалять боты): $admin_login, $admin_password
    • Если $admin_login равен пустой строке, то все имеют уровень доступа администратора (НЕ рекомендуется!)

    • Юзер (имеет право просматривать статистику): $user_login, $user_password
    • Если $user_login равен пустой строке, то все имеют уровень доступа пользователя.

    • $current_lang:
      • auto – автоопределение языка пользователя (Рекомендуется!)
      • en – Английский/международный
      • ru – Русский
      • … – Любой другой, перевод на который Вы сможете осуществить.
    • $current_charset – charset Вашего сайта (по крайней мере в отношении url’ов)
    • $botdetails_reverse – порядок отображения списка URI, посещенных ботами:
      true/false.
    • $botdetails_page_len – количество записей, одновременно выводимых на экран в режиме детализированного отчета о посещениях выбранного бота.

Будущие версии буду выкладывать здесь же.

При обновлении предыдущих версий скрипта, не перезаписывайте файлы: bot_stat.log и bot_stat.txt, а в файле bots_settings.php введите заново логины и пароли.

Обсуждение на форуме: http://usings.ru/forum/viewtopic.php?t=13

admin опубликовано 2009-7-12 Рубрика: PHP | Метки: , , , , ,

60 ответов Оставить комментарий

  1. #46DrCrash @ 2010-4-3 23:10

    Хороший скрипт наверное… Жаль только, что только через php инклюдится :( . Шаблон моего сайта не позволяет так инклюдить :(

  2. #47Владимир @ 2010-5-4 20:29

    Странно но у меян скрип не запустился (( выдал ошибку 500 ! ((((
    Что бы не дела как только вписываешь в файл .htaccess:

    Order Allow,Deny
    Deny from All

    Order Allow,Deny
    Deny from All

    RewriteEngine On
    RewriteCond %{HTTP:Authorization} !^$
    RewriteRule ^(.+)\.php$ $1.php?HTTP_AUTH=%{HTTP:Authorization} [QSA,L]

    Все сразу же не работает ((((

  3. #48Владимир @ 2010-5-4 20:41

    Все разхобрался )))) спасибо )))

  4. #49Станислав @ 2010-6-18 19:32

    В админке почемуто все таблички смещщены и не работают. Что может быть не так??? Заранее спасибо..

  5. #50Станислав @ 2010-6-18 19:41

    Opera AC 3.5.2 именно в этом браузере кривится все (что очень странно Опера обычно не глючит) В остальных смотрел все отлично…

  6. #51admin @ 2010-6-18 20:17

    В Opera AC не проверял. Проверял в IE 7+, FF 1/3, Opera 9/10, Chrome – все прекрасно отображается. Вывод: это баг сборки Opera AC, скорее всего.

  7. #52Станислав @ 2010-6-18 20:43

    Спасибо за оперативность, приятный модуль, сколько стоит платная версия если можно на емаил?

  8. #53Топ-10 @ 2010-7-1 15:02

    Офигительный скрипт. В связи с последними завихрениями яндекса очень полезно смотреть когда этот долбаный бот, что индексирует

  9. #54Станислав @ 2010-7-22 22:50

    Дмитрий модуль просто изумительный, жаль на мели сейчас :-( , но это временно… У меня тут идея созрела небольшая, но релизовать не смогу (учусь только… :-D ) Суть…
    Сделать вывод строки посещения ботов онлайн, чтобы ее можно было интегрировать на сайт. Например гдето маленькое окно и в нем информация следующая. «Сейчас на сайте 3 бота» То есть те что в режиме онлайн.

  10. admin @ 2010-7-22 23:14

    А причем здесь «на мели». Скрипт имеет free-версию. Платная готова, но пока под нее только страница оформляется.
    Что касается вашего пожелания – это запросто. А что посоветуете считать в качестве «сейчас»? Интервал времени минут в 10?

Ответить

(Ctrl + Enter)