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'); 
Это мой дебют,надеюсь кому небудь понадобится =)
 
Ответить с цитированием

  #2  
Старый 11.03.2007, 04:34
Аватар для IIAHbI4
IIAHbI4
Banned
Регистрация: 24.08.2006
Сообщений: 483
Провел на форуме:
3895065

Репутация: 1112
Отправить сообщение для IIAHbI4 с помощью ICQ
Cool

Спустя некоторое время:
Я вот подумал...можно ещё и без использования сессии записывать информацию в лог файл,но если посещаемость вашего ресурса высокая,то этот варьянт вам не совсем подойдёт,хотя он предоставит вам пооолную картину посещения вашего ресурса.
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');

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);
?>
 
Ответить с цитированием

  #3  
Старый 11.03.2007, 05:24
Аватар для mR_LiNK[deface_0nl
mR_LiNK[deface_0nl
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме:
1364740

Репутация: 114
По умолчанию

Эт все конечно хорошо, появился новый велосепид...не пропадет..+

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

  #4  
Старый 11.03.2007, 05:27
Аватар для IIAHbI4
IIAHbI4
Banned
Регистрация: 24.08.2006
Сообщений: 483
Провел на форуме:
3895065

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

не велосипед, spylog не даст тебе такого результата как к примеру второй код.
(в плане того, сколько раз и когда именно юзер с одим сешэн ИД заходил на твой ресурс)

Последний раз редактировалось IIAHbI4; 11.03.2007 в 05:30..
 
Ответить с цитированием

  #5  
Старый 11.03.2007, 05:36
Аватар для mR_LiNK[deface_0nl
mR_LiNK[deface_0nl
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме:
1364740

Репутация: 114
По умолчанию

Цитата:
Сообщение от IIAHbI4  
не велосипед, spylog не даст тебе такого результата как к примеру второй код.
(в плане того, сколько раз и когда именно юзер с одим сешэн ИД заходил на твой ресурс)
согласен, но я смысла не вижу в учете такой мелочи, если ты конечно пряники особо активным серферам раздавать не собираешься

зы::платный пакет spylog дает более чем достаточно..
 
Ответить с цитированием

  #6  
Старый 11.03.2007, 05:39
Аватар для IIAHbI4
IIAHbI4
Banned
Регистрация: 24.08.2006
Сообщений: 483
Провел на форуме:
3895065

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

Цитата:
Сообщение от mR_LiNK[deface_0nl  
согласен, но я смысла не вижу в учете такой мелочи....
так жизнь то из мелочей состоит =)...ладно чтот флуд.
 
Ответить с цитированием

  #7  
Старый 11.03.2007, 11:42
Аватар для blackybr
blackybr
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме:
8042357

Репутация: 3742


Отправить сообщение для blackybr с помощью ICQ Отправить сообщение для blackybr с помощью AIM Отправить сообщение для blackybr с помощью Yahoo
По умолчанию

Ага.. многократное нажатие ф5 будет добавлять в лог одно и тоже
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
 
Ответить с цитированием

  #8  
Старый 11.03.2007, 14:02
Аватар для IIAHbI4
IIAHbI4
Banned
Регистрация: 24.08.2006
Сообщений: 483
Провел на форуме:
3895065

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

Цитата:
Сообщение от blackybr  
Ага.. многократное нажатие ф5 будет добавлять в лог одно и тоже
это только при использовании 2ого скрипта,вот скажем ты,когда заходиш на ресурс ,то тупо сидиш и на Ф5 жмакаеш? =)
 
Ответить с цитированием

  #9  
Старый 11.03.2007, 14:05
Аватар для Talisman
Talisman
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме:
1325772

Репутация: 517


Отправить сообщение для Talisman с помощью ICQ
По умолчанию

а масенький досер заведет кучу сессий ))) и твой лог файл раздует фтп...
 
Ответить с цитированием

  #10  
Старый 11.03.2007, 14:27
Аватар для IIAHbI4
IIAHbI4
Banned
Регистрация: 24.08.2006
Сообщений: 483
Провел на форуме:
3895065

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

Цитата:
Сообщение от Talisman  
а масенький досер заведет кучу сессий ))) и твой лог файл раздует фтп...
ну ты же не досиш каждый ресурс на который заходиш...ну ей богу...
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ