форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Создание сайта / Контроль за просмотрами лог-файлов. |
| Автор | Сообщение |
| Borman Участник 1026 |
# Дата: 4 Май 2008 20:21 ° Поправил: Borman Всем привет! Я редко обращаюсь к вам за помощью. Сегодня как раз один из этих случаев. Есть в неком каталоге на сервере некий лог-файл. Собственно, вот этот файл: _http://eva.vnt.ru/logs/forum.log . Его могут просматривать некоторые участники форума. Вопрос: необходимо контролировать, кто именно из участников просматривал этот файл (как всегда: дата, время, IP, юсер-агент), и писать эти просмотры в отдельный лог. Напрашивается .htaccess. Как это сделать? |
| Александр Леонидович 1033 |
# Дата: 4 Май 2008 20:43 ° Поправил: Александр Через htpasswd просто закрой к нему доступ .htpasswd с хешем гинериш и ложишь к примеру в корень (до диры сайта). Кудат сюда: /???/.htpasswd .htaccess --примерно такой <Files forum.log> AuthType Basic AuthName "Нефиг пялиться!" AuthUserFile /???/.htpasswd require valid-user </Files> Его могут просматривать некоторые участники форума каму нада - дай пароль |
| Borman Участник 1026 |
# Дата: 4 Май 2008 20:45 Нет, у меня не эта проблема. Я не хочу закрывать этот файл для просмотра. Я хочу знать, кто его просматривал. |
| Александр Леонидович 1033 |
# Дата: 4 Май 2008 20:52 ° Поправил: Александр Вот код снятия логов. Но не знаю можно ли его вставлять в лог файл и как... может через htaccess сделать перенаправление на скрипт ... хз... <?php
$file=("logs.txt");
$data=date("d.m.Y");
$time=date("h:i");
$ip=trim($_SERVER['REMOTE_ADDR']);
$sysinfo=trim($_SERVER['HTTP_USER_AGENT']);
if(is_file($file))
$fo=fopen($file,"a","\n");
$res=" $data | $time | $ip | $sysinfo \n ";
$fw=fwrite($fo,$res);
fclose($fo); ?>
<?php
$fp = fopen ("logs.txt", "r");
$bytes = 8000;
$buffer = fread($fp, $bytes);
fclose ($fp);
print $buffer;
?> |
| Borman Участник 1026 |
# Дата: 4 Май 2008 21:02 ° Поправил: Borman Это просто классно!: Учить меня, как писать в логи. Спасибо за пример! Я это делаю так:
//---------------- Logs --------
$bot_flg = 0;
$admin_flg = 0;
$ip = $_SERVER["REMOTE_ADDR"];
$us = $_SERVER["HTTP_USER_AGENT"];
if (preg_match ("/Mail.Ru/i", $us) OR preg_match ("/Googlebot/i", $us) OR preg_m
atch ("/Yahoo/i", $us) OR preg_match ("/StackRambler/i", $us) OR preg_match ("/m
snbot/i", $us) OR preg_match ("/Yandex/i", $us) OR preg_match ("/Twiceler/i", $u
s)) $bot_flg = 1;
if ($ip == "81.222.245.*" OR $ip == "81.222.245.*") $admin_flg = 1;
if ($bot_flg != 1 AND $admin_flg != 1)
{
$date = date("Y"."."."m"."."."d");
$time = date("H"."."."i");
$ref = $_SERVER["HTTP_REFERER"];
$b_path = basename ($_SERVER['SCRIPT_FILENAME']);
if ($ref == "") $ref = "none";
$new_arr = $date."|".$time."|".$ip."|".$b_path."|".$ref."|".$us."\n";
$ufile = "/var/www/virtual/eva.vnt.ru/htdocs/logs/forum.log";
$fp = fopen ($ufile, 'a');
fputs ($fp, $new_arr);
fclose ($fp);
}
//---------------- End Logs --------* - в скрипте - это реальные окончания IP. |
| acsid Alfa Guru 2386 |
# Дата: 4 Май 2008 21:11 ° Поправил: acsid Borman Сделай через мод реврайт. При запросе этого файла, переняправляй на пхп файл, который будет делать записи в лог и отдавать сдержимое forum.log на обозрение |
| Borman Участник 1026 |
# Дата: 4 Май 2008 21:14 acsid, это мне как раз и надо. Дай примерчик. Буду очень благодарен. |
| acsid Alfa Guru 2386 |
# Дата: 4 Май 2008 21:27 Borman RewriteEngine on RewriteRule [^\./]+\.(log)$ - [L] RewriteRule ([^\./]+)\.(log)$ write_stats.php[L] вот набросал немного... |
| Borman Участник 1026 |
# Дата: 4 Май 2008 21:37 Ок! Спасибо! Сегодня проверю. Блин, ты бы каменты написал бы. |
| acsid Alfa Guru 2386 |
# Дата: 4 Май 2008 21:49 Borman Каменты там тяжело сделать))) Вот способ по легче для понимания: Redirect temp /logs/forum.log http://eva.vnt.ru/logs/index.php Эфект тотже |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:29564, gzipped size:9122 |