Опубликовано марта 4, 2007. Автор Dmitriy Lyalyuev
Есть такой популярной анализатор логов прокси-сервера 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 = "https://stat.server.com.ua/squid/"+f.year.value+"/"+f.month.value+"/"+f.day.value;
}
//-->
</script></head><body><divalign="center"><h2>Просмотр статистики посещенных сайтов за дату:</h2><form><script><!--//
Ну вот и все. IP пользователя определяется веб-сервером и пользователь не сможет добраться до чужой статистики, не зная где и какие файлы запускать. Администратор может вызвать напрямую index.cgi и ввести логин и пароль для доступа. И не забудьте подправить имя домена в index.html и каталог скриптов в .htaccess.