ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Cтатистика посещений вашего ресурса.
  #1  
Старый 11.03.2007, 04:17
Аватар для IIAHbI4
IIAHbI4
Banned
Регистрация: 24.08.2006
Сообщений: 483
Провел на форуме:
3895065

Репутация: 1112
Отправить сообщение для IIAHbI4 с помощью ICQ
По умолчанию Cтатистика посещений вашего ресурса.

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

PHP код:
<?
session_start
();
if(!
session_is_registered('counted')){
$agent $_SERVER['HTTP_USER_AGENT'];
$uri $_SERVER['REQUEST_URI'];
$user $_SERVER['PHP_AUTH_USER'];
$ip $_SERVER['REMOTE_ADDR'];
$ref $_SERVER['HTTP_REFERER'];
$dtime date('r');
 
if(
$ref == ""){
$ref "None";
}
if(
$user == ""){
$user "None";
}

$entry_line "$dtime - IP: $ip | Agent: $agent | URL: $uri | Referrer: $ref | Username: $user n";
$fp fopen("logs.txt""a");
fputs($fp$entry_line);
fclose($fp);
session_register('counted');
}
?>
Теперь давайте пройдемся по отдельным частям кода:


Здесь мы запускаем механизм сессий, эта строчка просто необходима, ведь в представленном примере мы будем вести учет пользователей, "не учтенных" сессией.
PHP код:
session_start(); 

Здесь мы проверяем существует ли сессия с именем 'counted', если нет, то выполняем идущий за этой строкой код.
PHP код:
if(!session_is_registered('counted')){ 



А вот уже в этом куске кода мы объявляем список переменных, которые в свою очередь обращаются к глобальным переменным.
PHP код:
$agent $_SERVER['HTTP_USER_AGENT'];
$uri $_SERVER['REQUEST_URI'];
$user $_SERVER['PHP_AUTH_USER'];
$ip $_SERVER['REMOTE_ADDR'];
$ref $_SERVER['HTTP_REFERER'];
$dtime date('r'); 

Если человек пришел на ваш сайт, просто набрав в адресной строке браузера ваш адрес и он не зарегистрирован, то в этом случае в логе будет записано "нет".
PHP код:
$_SERVER['HTTP_USER_AGENT'] - расскажет нам в логе о томкаким браузером и ОС пользуется юзер.
$_SERVER['REQUEST_URI'] - поведает о томс какой страницы была произведена записьможно также составить статистику наиболее популярных для входа страниц.
$_SERVER['PHP_AUTH_USER'] - работаеттолькоесли у вас на сайте есть регистрация и пользовательские аккуанты запишется имя пользователя.
$_SERVER['REMOTE_ADDR'] - ну здесь по-моему все понятно определяется ip пользователя
$_SERVER
['HTTP_REFERER'] - очень удобная вещь с помощью нее мы узнаем откуда пришел пользовательи узнаем о сайтахпоместивших на нас ссылку.
date('r') - записывается время в стандартно формате.
f(!$ref){
$ref "Нет";
}
if(!
$user){
$user "Нет";


В последнем куске кода - мы записываем соответствующую информацию в файл logs.txt. Все скрипт статистики готов!
PHP код:
$entry_line "$dtime - IP: $ip | Agent: $agent | URL: $uri | Referrer: $ref | Username: $user n";
$fp fopen("logs.txt""a");
fputs($fp$entry_line);
fclose($fp);
session_register('counted'); 
Это мой дебют,надеюсь кому небудь понадобится =)
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ