Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   помогите найти ошибки в коде (https://forum.antichat.xyz/showthread.php?t=68877)

fire64 30.04.2008 16:59

помогите найти ошибки в коде
 
переделал скрипт для логирования юзер агентов
написал условия что бы популярные браузеры не входили в лог, но со скриптом какие-то глюки
кроме того что надо он иногда дописывает непонятные данные

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

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);
?>


Kaimi 30.04.2008 17:11

Цитата:

он иногда дописывает непонятные данные
Наподобии?

Fuckel 30.04.2008 17:16

лень мануалы почитать или google набрать?
http://omsk777.ru/all.php?act=broser
готово

fire64 30.04.2008 17:22

объясняю вот строки из лога

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

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&a mp;p=89&amp;t=40">Показать IP адрес автора</a>Forums90.151.17.


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

desTiny 30.04.2008 17:32

Цитата:

Сообщение от fire64
переделал скрипт для логирования юзер агентов
написал условия что бы популярные браузеры не входили в лог, но со скриптом какие-то глюки
кроме того что надо он иногда дописывает непонятные данные

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

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);
}
?>


Поменял место одной скобочки... проверь..

fire64 30.04.2008 17:37

спасибо, осталось подождать приход ботов и посмотреть что будет в логе

fire64 30.04.2008 18:04

Спасибо помогло

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

zythar 30.04.2008 19:26

всмысле? откуда он пришел? или его айпишник?

в первом случае это $_SERVER['HTTP_REFERER'], во втором $_SERVER['REMOTE_ADDR']

fire64 30.04.2008 20:01

все, сам добавил определение домена пользователя

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);
}
?>


biophreak 01.05.2008 23:20

Хм...в юзерагент можно подставить хтмл код, т.е. активная xss, получаеца


Время: 12:44