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

Форум АНТИЧАТ (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=68692)

fire64 28.04.2008 20:10

скрипт логирования юзер агентов
 
подскажите php скрипт для логирования юзерагентов и реферов
и что бы все эти данные выводились в нормальном юзабельном виде

brasco2k 28.04.2008 20:40

попробуй ето:

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 раз странички каждый в несколько секунд

fire64 28.04.2008 23:18

у меня на сайте постоянно по 20, 30 юзеров, которые непереставая шастают по сайту
так что лог файл все же лучше чем база

не работает, лог остается пустым

Fuckel 28.04.2008 23:55

скрипт записи
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 />";
?>

системные переменные и все. мог постараться и сам написать. ;)

fire64 29.04.2008 11:55

спасибо теперь все логируется нормально

отностительно содержимого лога, все вроде понятно кроме строк
.net Clr 1.1.4322; .net Clr 2.0.50727

biophreak 29.04.2008 12:29

Это, видимо версия .net фреймворков :) ВРоде осел страдает подстановкой этой шняги...короче не переживай...это - часть юзерагента... ;)

fire64 29.04.2008 14:55

там в юзер агентах вобще много интересного
у полвины юзеров в браузерах стоит всякая хрень типа iebar; acc=kimochiz; acc=none; FunWebProducts и прочего

fire64 29.04.2008 22:30

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

попугай 07.05.2008 12:30

gethostbyaddr()


Время: 15:40