http://www.yoursite.ru/cgi-bin/amstat/htreport?date=DATE&what=WHAT
Web-интерфейс позволяет пользователям сервера статистики получить доступ к информации о состоянии своих лицевых счетов, статистики и иной информации в интерактивном режиме с помощью технологии WWW.
При описании этого модуля подразумевается, что Вы уже имеете установленный WWW сервер и знаете механизмы ограничения доступа к ресурсам сервера по именам/паролям (много информации и ссылок на эту тему есть на http://www.apache.org/ и на http://www.w3.org/). Не забудьте, что для нормальной работы модулю htreprt должны быть предоставлены права пользователя, от имени которого установлен сервер статистики. Это достигается, например, такими операциями:
bash# chown 0.0 htreport bash# chmod 6511 htreport bash# ls -l htreport 520 -r-sr-sr-x 1 root wheel 522700 Sep 10 18:58 htreport* |
Модуль htreport не имеет средств проверки секретности и определяет
имя пользователя из переменной окружения `REMOTE_USER'
, при условии,
что задана переменная окружения `AUTH_TYPE'
. Если у Вас есть
предложения по усовершенствованию этого механизма -
напишите автору.
Затем модуль проверяет способ доступа - переменную окружения
`REQUEST_METHOD'
, ее значение должно быть `GET'
; наконец, модуль
получает список действий и параметров из переменной окружения
`QUERY_STRING'
. Параметры состоят из имени и значения,
разделенных знаком равенства (без пробелов). Один параметр от другого
отделяется символом `&' (амперсэнд). Такой формат записи целиком
соответствует спецификации CGI (Common Gateway Interface), что позволяет
запускать модуль htreport непосредственно из WEB сервера как
CGI-модуль. При этом в переменную окружения `QUERY_STRING'
попадет все
указанное Вами после знака `?' в URL. Примеры:
http://www.your.site/cgi-bin/amstat/htreport?what=account http://www.your.site/cgi-bin/amstat/htreport?what=stat&date=-.1 |
Если переменная окружения `QUERY_STRING'
пуста (в URL не было задано
аргументов), то предполагается, что она равна `what=total'
. В
настоящий момент модуль поддерживает только два аргумента:
Позволяет сместить текущую дату в указанную. Удобно для вывода статистики за прошлые месяцы. Дата задается в стандартном формате.
Задает вид действия, которое необходимо сделать. В настоящий момент действия - это названия форм, результаты обработки которых генератором отчетов будут выведены пользователю. Соответствие названий действий и названий форм задается конфигурационным файлом.
Конфигурационный файл `htreport.cf'
должен быть размещеен в домашнем
каталоге сервера. Он состоит из текстовых строк; пустые строки и строки,
начинающиеся с символа `#' игнорируются. Остальные строки должны состоять
из двух полей - названия действия, как оно будет задано в аргументе
what и названия формы, в формате принятом при указании имени формы
генератору отчетов.
Некоторые имена действий зарезервированы и обязательно должны присутствовать в конфигурационном файле:
Выводится если заданного пользователя не существует.
Выводится, если запрошенное имя действия не найдено.
Выводится если имя пользователя не задано. Обычно такая ошибка свидетельствует об ошибке в конфигурации Web-сервера - скорее всего имя пользователя не было запрошено и, соответственно, передано в модуль htreport.
Выводится если не задано никаких аргументов при вызове модуля htreport. Обычно содержит текущие данные - итоговые значения статистики, лицевого счета и т.п.
Пример:
# Знак равенства не является символом "присвоения", а указывает на то, # что поиск формы должен производиться в каталоге forms/ домашнего каталога # сервера. # # Обязательно должны присутствовать! # baduser =ht/baduser.fm nouser =ht/nouser.fm # total =ht/total.fm account =ht/account.fm bill =ht/bill.fm bill-s =ht/bill-s.fm uinfo =ht/uinfo.fm # # А это будет выдаваться хакерам, которые разные иные режимы работы будут # пробовать :) # default =ht/default.fm |
Кроме того, смотрите готовый пример конфигурации и формы, поставляемые с сервером.