подскажите php скрипт для логирования юзерагентов и реферов и что бы все эти данные выводились в нормальном юзабельном виде
попробуй ето: 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 раз странички каждый в несколько секунд
у меня на сайте постоянно по 20, 30 юзеров, которые непереставая шастают по сайту так что лог файл все же лучше чем база не работает, лог остается пустым
скрипт записи 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 />"; ?> системные переменные и все. мог постараться и сам написать.
спасибо теперь все логируется нормально отностительно содержимого лога, все вроде понятно кроме строк .net Clr 1.1.4322; .net Clr 2.0.50727
Это, видимо версия .net фреймворков ВРоде осел страдает подстановкой этой шняги...короче не переживай...это - часть юзерагента...
там в юзер агентах вобще много интересного у полвины юзеров в браузерах стоит всякая хрень типа iebar; acc=kimochiz; acc=none; FunWebProducts и прочего