Учет ботов на статичном сайте

Тема в разделе "Вопросы новичков", создана пользователем pehota, 1 авг 2009.

Статус темы:
Закрыта.
  1. pehota

    pehota

    Регистр.:
    2 апр 2007
    Сообщения:
    359
    Симпатии:
    204
    Подскажите, какие варианты для учета ботов существуют для статичных доров на html ?
     
  2. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    Смотреть логи сервера или вручную или прогами, тем же Сеомонитором.
     
  3. pehota

    pehota

    Регистр.:
    2 апр 2007
    Сообщения:
    359
    Симпатии:
    204
    Уточню: логи сервера недоступны. Может есть сервисы типа лиру, но со сбором статистики по ботам? Своя статистика (скрипт) на отдельном домене?

    P.S. SeMonitor разве имеет к этому какое-то отношение?
     
  4. Brux

    Brux

    Регистр.:
    25 сен 2007
    Сообщения:
    155
    Симпатии:
    9
    Поищи гдето тут выкладывали уже скрипт статистики ботов. Инклуд-ом добавляется на каждую html страничку дора и вся статистика по ботам в отдельном txt файле.
     
  5. ko-yg

    ko-yg

    Регистр.:
    12 ноя 2008
    Сообщения:
    519
    Симпатии:
    161
    PHP:
    <?php
    $logname 
    "имя_файла_куда_писать_стату.txt";
    error_reporting(0);
    ini_set("display_errors"FALSE);
    if (!
    defined("PHP_EOL")) define("PHP_EOL""
    "
    );
    $ua = (isset($_SERVER["HTTP_USER_AGENT"])) ? $_SERVER["HTTP_USER_AGENT"] : (isset($HTTP_SERVER_VARS["HTTP_USER_AGENT"]) ? $HTTP_SERVER_VARS["HTTP_USER_AGENT"] : "");
    $ua trim(htmlspecialchars($ua));
    $referrer htmlspecialchars(isset($_SERVER["HTTP_REFERER"]) ? trim($_SERVER["HTTP_REFERER"]) : "");
    $botip = (isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : "");
    $botip trim($botip);
    $req = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : "");
    $req .= (isset($_SERVER["QUERY_STRING"]) AND !empty($_SERVER["QUERY_STRING"])) ? "?" $_SERVER["QUERY_STRING"] : "";
    $req trim(htmlspecialchars($req));

    $displaynone FALSE;

        if(
    preg_match(
    "#(yandex|yadirectbot|bond|googlebot|google|aport|stackrambler|msnbot|aport|webalta|gogo|slurp|yahoo|turtle|lycos|altavista|infoseek|alltheweb|ask|looksmart|web|fireball|scooter|crawlx|excite|gsa-crawler|sidewinder|modspider|123metaspider|2kcity|abacho|abadoor|abrexa|jemmathetourist|seekbot|dyatel)#i"$ua)) {
            
    $data "";
                if((@
    file_exists($logname) === FALSE) OR (@filesize($logname) == 0)) {
                    
    $data .= "Дата время^Юзер агент^IP-адрес^Реферрер^Загруженая страница" PHP_EOL;
                }
                
            
    $data .= @date("j.m.Y H:i") . "^" $ua "^" $botip "^" $referrer "^" $req PHP_EOL;
            
            
                @
    chmod($logname0755);
            
            
    $f = @fopen($logname"a");
            @
    fwrite($f$data);
            @
    fclose($f);
        
    //
            
    $displaynone FALSE;
        } else {
            
    $displaynone TRUE;
        }
    ?>
    в каждую хтмл страницу вставить:
    PHP:
    <?php @ob_start(); ?><?php
    @include_once( "путь_до_файла_с_логом/имя_файла_куда_пишем_стату.txt");        
    ?>
    кажись из какого-то мода баттона взята функция.
    но как правило если пхп пашит, то и логи апача доступны на хосте, по ним удобрее смотреть имхо.
     
    pehota нравится это.
Статус темы:
Закрыта.