Однако существует множество статистических данных об использовании, которые можно отслеживать с помощью
wiki и послужил основой для различных функций. Некоторые из них применимы для
администраторы, в то время как другие могут представлять интерес для случайного пользователя, если соответствующим образом представлены
на общедоступных страницах.
В следующем разделе представлен обзор стратегий отслеживания различных видов
моделей использования. С точки зрения безопасности должно быть ясно, что принимать
меры против «оскорбительного» поведения, вам сначала нужны достоверные данные о том, что такое злоупотребление
может быть и кто несет ответственность. Задокументированный образец «чрезмерного» или
«ненадлежащее» использование может позволить администратору связаться с ответственными лицами, которые
действительно могут не знать о проблемах, которые вызывают их модели использования. Обнаружение
и сокращение проблем до того, как они выйдут из-под контроля, может сэкономить вам усилия
введение ограничительных мер, которые вам могут не понадобиться.
Отслеживание обращений к странице
Помимо пользы для администратора, статистика посещений страниц часто представляет интерес для
также посетители. Поэтому при реализации некоторых из этих вариантов отслеживания вы
вероятно, следует также рассмотреть вопрос о том, как собранные статистические данные могут быть представлены общественности.
Показательным примером является RecentChanges, поскольку он дает посетителю указание на
где действие.
Чтобы создать журнал количества попаданий для последующего анализа, вы можете реализовать
подпрограмма журнала, подобная следующей. Он состоит из двух частей: общий примитив добавления в файл журнала
(вместе с "блокировкой" для предотвращения попыток различных серверных процессов
274
АДМИНИСТРИРОВАНИЕ ВИКИ И ИНСТРУМЕНТЫ
одновременно записывать в один и тот же файл) и фактический регистратор посещений. Блокировка
Механизм такой же, как и при сохранении отредактированных страниц, описанный в главе 7.
дополнительный файл журнала {
мой ($116, $значение) =
&Заблокировать страницу($файл) ; # тот же принцип, что и в HandlePost
открыть (Р, " » $ файл М);
выведите P $значение;
закрыть (П);
& Разблокировать страницу ($ файл);
}