Если в качестве основного режима повторной генерации идентификатора сеанса ваше приложение использует cookie, а в качестве запасного режима - get, надо ко всем ссылкам добавить идентификатор сеанса. Если вы хотите использовать другие способы распространения идентификатора сеанса, описанные в главе 4, необходимо расширить библиотеку PHPLib, чтобы она могла работать с другими значениями переменной $mode.
Но даже задачу ручного замещения адреса URL библиотека PHPLib делает намного проще. В библиотеке предусмотрена функция url(), которая добавляет идентификатор сеанса к ссылкам, когда работа происходит в режиме get.
$link = $sess->url("script.php3");
Если ваш сеанс находится в режиме get, то результирующая переменная $link будет выглядеть примерно так:
script.php3?Example_Session=2e4c3670ce9a143fee398aec282f960c
Функция правильно обрабатывает каждую строку запроса; она будет работать корректно, даже если вы вызовете ее для адреса URL, в котором содержится параметр, к примеру, script.php3?foo=bar.
Для сокращения в тексте программы представления процесса вывода окончательной ссылки можно использовать функцию purl(), которая работает так же, как функция url(), но, кроме того, выводит сгенерированный адрес URL. Сходным образом функции self_url() и pself_url() позволяют сгенерируют и вывести (последняя функция) ссылку на текущий файл.
Аутентификация
В соответствующем разделе главы 4 мы отмечали, что методика базовой аутентификации HTTP имеет ряд недостатков, которые отсутствуют в механизме аутентификации, предусмотренном в системе PHP. В следующем разделе этот вопрос рассматривается более подробно.