LightSquid и статистика пользователей
Есть такой популярной анализатор логов прокси-сервера Squid как LightSquid. И многие администраторы его используют. Скорее всего, что я не первый столкнулся с проблемой того, как показывать пользователям локальной сети их статистику походов по сайтам. Предлагаю свое решение данной небольшой проблемы. Пишем простые .htaccess + index.html файлы и ложим их в каталог со скриптами (у меня исполнение cgi-скриптов и показ html-файлов в одном и том же каталоге разрешено). Итак index.html:
<html> <head> <script> <!--// function postform(){ var form; date = new Date(); form = '<select name=day>'; for(i=1; i<=31; i++){ if(i<10){day="0"+i;}else{day=i;} form = form+'<option value='+day; if(date.getDate() == i){form = form+' selected';} form = form+'>'+day; } form=form+'</select>'; form = form+'<select name=month>'; for(i=1; i<=12; i++){ if(i<10){month="0"+i;}else{month=i;} form = form+'<option value='+month; if((date.getMonth()+1) == i){form = form+' selected';} form = form+'>'+month; } form=form+'</select>'; form = form+'<select name=year>'; for(i=2005; i<=2007; i++){ form = form+'<option value='+i; if((date.getYear()+1900) == i){form = form+' selected';} form = form+'>'+i; } form=form+'</select>'; document.write(form); } function post(){ var f = document.forms[0]; document.location = "http://stat.server.com.ua/squid/"+f.year.value+"/"+f.month.value+"/"+f.day.value; }
//--> </script> </head> <body> <div align="center"> <h2>Просмотр статистики посещенных сайтов за дату:</h2> <form> <script> <!--//
postform(); //--> </script> <input type="button" onclick="post();" value="Показать статистику"> </form> </div> </body> </html>
Ну и .htaccess:
<Files "index.cgi"> AuthType Basic AuthName "Server statistic" AuthUserFile /tmp/.htpasswd require valid-user </Files> <Files "day_detail.cgi"> AuthType Basic AuthName "Server statistic" AuthUserFile /tmp/.htpasswd require valid-user </Files> <Files "month_detail.cgi"> AuthType Basic AuthName "Server statistic" AuthUserFile /tmp/.htpasswd require valid-user </Files> RewriteEngine on RewriteRule ^([0-9]+)/([0-9]+)/user_time.cgi(.*) /squid/user_time.cgi$3 [L] RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)$ /squid/user_detail.cgi?year=$1&month=$2&day=$3&user=%{REMOTE_HOST} [QSA,L]
Ну вот и все. IP пользователя определяется веб-сервером и пользователь не сможет добраться до чужой статистики, не зная где и какие файлы запускать. Администратор может вызвать напрямую index.cgi и ввести логин и пароль для доступа. И не забудьте подправить имя домена в index.html и каталог скриптов в .htaccess.


(2 голос(ов), среднее: 4.50 из 5)


Здравствуйте. Сделал вашу статистику на своем шлюзе. Никак у меня не хочет определяться адрес зашедшего пользователя. Определяется IP самого шлюза.