Ваш пароль был изменен. Ожидайте, что ваш браузер предложит вам
для этого нового пароля, когда вы продолжите просматривать этот сайт.
EOF3
}
}
открыть (T, 'template.html');
пока (<T>) {
с/\$(\w+)/определено($par{$1})
Распечатать;
?$par{$l}
: ''/гео;
}
шкаф);
Отправьте подтверждающее сообщение через шаблон. Сделанный.
Наконец, мы показываем пример файла доступа в каталоге.
.htaccess
AuthName my-member-wiki
Основной тип авторизации
AuthUserFile /home/httpd/passwd/myauthwiki
требовать действительного пользователя
Индекс каталога wiki.cgi
Этот (скрытый) файл в каталоге wiki указывает следующее по порядку:
• Имя приглашения, отображаемое в диалоговом окне входа в систему.
• Вид авторизации
• Где находится файл имени/пароля
• Каких пользователей допускать (пользователей с правильным паролем)
• Файл, используемый при запросах на просмотр, не указывает файл, только
каталог
Последнее эквивалентно запросу URL к обычному веб-каталогу, получающему
страница по умолчанию (обычно index.html). Здесь это означает, что неопределенный запрос к
вики-каталог эквивалентен запросу просмотра, потому что он вызывает
240
ПРОВЕРЕННЫЕ КОМПОНЕНТЫ WIKI
модуль. Без указания этого поведения по умолчанию может произойти любой из двух результатов:
в зависимости от того, защищен каталог или нет:
• «Запрещенное» сообщение в клиентском браузере
• Список каталогов всех имеющихся файлов
Ни то, ни другое поведение не является особенно желательным.
При запуске вики в среде Windows обратите внимание, что пароль
шифрование по методу UNIX не поддерживалось некоторыми ранее
версии perl для 32-битной Windows.
ГЛАВА
8
Альтернативы и
Расширения
После глубокого анализа QuickiWiki будет полезно взглянуть на некоторые
альтернативные способы закодировать «ту же» базовую вики и ввести еще несколько
мощные расширения базовой функциональности.
В этой главе основное внимание уделяется модели разбора запросов, а не
модульная QuickiWiki. Структуры кода не очень далеко отстоят друг от друга.
другой, однако, и программисту со средним опытом не составит труда
переписать код из одного формата в другой. В этой реализации главное
разница в том, что вся функциональность, по сути, содержится в одном файле скрипта,
с различными «модулями», выраженными в виде кластеров подпрограмм. С точки зрения пользователя
зрения, здесь вы не увидите ссылки "голый URL" для вызова отдельного
модули для разных функций. Вместо этого этот контроль выбора скрыт в запросе
параметры, переданные на тот же URL скрипта.