PDA

Просмотр полной версии : помогите найти ошибки в коде


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

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


<?
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&amp;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
переделал скрипт для логирования юзер агентов
написал условия что бы популярные браузеры не входили в лог, но со скриптом какие-то глюки
кроме того что надо он иногда дописывает непонятные данные

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


<?
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
все, сам добавил определение домена пользователя


<?
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, получаеца

GreenBear
01.05.2008, 23:22
в тхт файле ?