Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
скрипт логирования юзер агентов |

28.04.2008, 20:10
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
скрипт логирования юзер агентов
подскажите php скрипт для логирования юзерагентов и реферов
и что бы все эти данные выводились в нормальном юзабельном виде
|
|
|

28.04.2008, 20:40
|
|
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме: 1215706
Репутация:
310
|
|
попробуй ето:
PHP код:
<?php
$f=fopen("users.log","at"));
flock($f,2);
fputs($f,"Юзер-агент: ".$_SERVER['HTTP_USER_AGENT']."\n");
fputs($f,"IP: ".$_SERVER['REMOTE_ADDR']."\n");
fputs($f,"Реферер: ".$_SERVER['HTTP_REFERER']."\n");
flock($f,3);
fclose($f);
?>
ставишь chmod(права) на созданный предварительно users.log - 777
этот код^^^
вставляешь в странички, потом статистику смотришь в users.log
думаю ты это хотел, можно кстати сделать и sql если ты хочешь чтобы все красиво было..... но это быстро базу положит)), если юзеры будут перезагружать по 5 раз странички каждый в несколько секунд
Последний раз редактировалось brasco2k; 28.04.2008 в 20:43..
|
|
|

28.04.2008, 23:18
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
у меня на сайте постоянно по 20, 30 юзеров, которые непереставая шастают по сайту
так что лог файл все же лучше чем база
не работает, лог остается пустым
Последний раз редактировалось fire64; 28.04.2008 в 23:34..
|
|
|

28.04.2008, 23:55
|
|
Участник форума
Регистрация: 17.01.2008
Сообщений: 170
Провел на форуме: 1608606
Репутация:
105
|
|
скрипт записи
PHP код:
<?
// функция по определению ip
function ip(){
if( getenv('REMOTE_ADDR'))
{$user_ip = getenv('REMOTE_ADDR');}
elseif( getenv('HTTP_FORWARDED_FOR'))
{$user_ip = getenv('HTTP_FORWARDED_FOR');}
elseif( getenv('HTTP_X_FORWARDED_FOR'))
{$user_ip = getenv('HTTP_X_FORWARDED_FOR');}
elseif( getenv('HTTP_X_COMING_FROM'))
{$user_ip = getenv('HTTP_X_COMING_FROM');}
elseif( getenv('HTTP_VIA'))
{$user_ip = getenv('HTTP_VIA');}
elseif( getenv('HTTP_XROXY_CONNECTION'))
{$user_ip = getenv('HTTP_XROXY_CONNECTION');}
elseif( getenv('HTTP_CLIENT_IP'))
{$user_ip = getenv('HTTP_CLIENT_IP');}
else{$user_ip='unknown';}
if(15 < strlen($user_ip)){
$ar = split(', ', $user_ip);
for($i=sizeof($ar)-1; $i > 0; $i--){
if($ar[$i]!='' and !preg_match('/[a-zA-Zа-яА-Я]/', $ar[$i]))
{$user_ip = $ar[$i];
break;
}
if($i==sizeof($ar)-1){$user_ip = 'unknown';}
}
}
if(preg_match('/[a-zA-Zа-яА-Я]/', $user_ip)){$user_ip = 'unknown';}
return $user_ip;
}
$ip_user = ip();
$time=date("d-M-Y");
$op=fopen("log-$time.txt", "a");
fputs($op, "ip: ".$ip_user." Броузер: ".$_SERVER['HTTP_USER_AGENT']." Реф: ".$_SERVER['HTTP_REFERER']."\n");
fclose($op);
?>
скрипт вывода
PHP код:
<?
$d = dir("./");
$i=0;
while($entry=$d->read()) {
if (substr($entry,0,4)=="log-") {
$names[$i]=substr($entry,4,-4);
$i++;
}
}
$d->close();
for ($i=0; $i<count($names); $i++) print"<a href=\"log-$names[$i].txt\">$names[$i]</a><br />";
?>
системные переменные и все. мог постараться и сам написать. 
|
|
|

29.04.2008, 11:55
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
спасибо теперь все логируется нормально
отностительно содержимого лога, все вроде понятно кроме строк
.net Clr 1.1.4322; .net Clr 2.0.50727
|
|
|

29.04.2008, 12:29
|
|
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
Провел на форуме: 876216
Репутация:
209
|
|
Это, видимо версия .net фреймворков  ВРоде осел страдает подстановкой этой шняги...короче не переживай...это - часть юзерагента... 
|
|
|

29.04.2008, 14:55
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
там в юзер агентах вобще много интересного
у полвины юзеров в браузерах стоит всякая хрень типа iebar; acc=kimochiz; acc=none; FunWebProducts и прочего
|
|
|

29.04.2008, 22:30
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
какую переменную использовать для определения домена пользователя ?
|
|
|

07.05.2008, 12:30
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
gethostbyaddr()
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|