помогите найти ошибки в коде

Discussion in 'PHP' started by fire64, 30 Apr 2008.

  1. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    переделал скрипт для логирования юзер агентов
    написал условия что бы популярные браузеры не входили в лог, но со скриптом какие-то глюки
    кроме того что надо он иногда дописывает непонятные данные

    вот код скрипта

    PHP:
    <?
    if ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') ) { }
    elseif ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') ) { }
    elseif ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'Opera') ) { }
    elseif ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'Firefox/2.0.0.14') ) { }
    else

    $name="Bot Name: ".$_SERVER['HTTP_USER_AGENT']."\n" ;
    $via="".$_SERVER['REMOTE_HOST']."\n" ;
    $ip="Bot IP: ".$_SERVER['HTTP_X_REAL_IP']."\n" ;
    $ref="Bot Refer: ".$_SERVER['HTTP_REFERER']."\n" ;
    }
    $time=date("d-M-Y");
    $op=fopen("log-$time.txt""a");
    fputs($op$name);
    fputs($op$ip);
    fputs($op$ref);
    fputs($op$via);
    fputs($op$via);
    fputs($op$via);
    fclose($op);
    ?> 
     
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Наподобии?
     
    _________________________
  3. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    лень мануалы почитать или google набрать?
    http://omsk777.ru/all.php?act=broser
    готово
     
    1 person likes this.
  4. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    объясняю вот строки из лога

    нормальная запись

    Bot Name: Yandex/1.01.001 (compatible; Win16; I)
    Bot IP: 213.180.206.189
    Bot Refer:


    не нормальная запись

    ForumsForums<a href="modules.php?name=Forums&file=modcp&mode=ip&amp;p=89&amp;t=40">Показать IP адрес автора</a>Forums90.151.17.


    вот сам лог http://kabak.ds8.ru/log-30-Apr-2008.txt
     
  5. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Поменял место одной скобочки... проверь..
     
    1 person likes this.
  6. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    спасибо, осталось подождать приход ботов и посмотреть что будет в логе
     
  7. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    Спасибо помогло

    какую переменную надо использовать для определения домена пользователя
     
  8. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    всмысле? откуда он пришел? или его айпишник?

    в первом случае это $_SERVER['HTTP_REFERER'], во втором $_SERVER['REMOTE_ADDR']
     
    #8 zythar, 30 Apr 2008
    Last edited: 30 Apr 2008
  9. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    все, сам добавил определение домена пользователя

    PHP:
    <?
    if ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') ) { }
    elseif ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') ) { }
    elseif ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'Opera') ) { }
    elseif ( 
    strstr($_SERVER['HTTP_USER_AGENT'], 'Firefox') ) { }

    else

    $name="Bot Name: ".$_SERVER['HTTP_USER_AGENT']."\n" ;
    $via="".$_SERVER['REMOTE_HOST']."\n" ;
    $predomen=gethostbyaddr$_SERVER['HTTP_X_REAL_IP'] );
    $domen="Bot Domen: ".$predomen."\n" ;
    $ip="Bot IP: ".$_SERVER['HTTP_X_REAL_IP']."\n" ;
    $ref="Bot Refer: ".$_SERVER['HTTP_REFERER']."\n" ;

    $time=date("d-M-Y");
    $op=fopen("log-$time.txt""a");
    fputs($op$name);
    fputs($op$domen);
    fputs($op$ip);
    fputs($op$ref);
    fputs($op$via);
    fputs($op$via);
    fputs($op$via);
    fclose($op);
    }
    ?> 
     
    #9 fire64, 30 Apr 2008
    Last edited: 30 Apr 2008
  10. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Хм...в юзерагент можно подставить хтмл код, т.е. активная xss, получаеца
     
  11. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    в тхт файле ?