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>
  <divalign="center">
   <h2>Просмотр статистики посещенных сайтов за дату:</h2>
   <form>
    <script>
<!--//
     postform();

//-->
    </script>

    <inputtype="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.

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

5 комментариев(я)

(Обязательно)
(Обязательно, не публикуется)

Надпись "Выполнено на 99%" радует только первые три часа....
Яндекс.Метрика beget