|
Передача идентификатора сессииСуществуют два метода передачи идентификатора сессии:
Модуль сессии поддерживает оба метода. Метод с cookies является оптимальным, но он не всегда доступен. Поэтому PHP предоставляет второй способ, который внедряет идентификатор сессии непосредственно в URL. PHP умеет преобразовывать ссылки прорзачно. Однако, если вы используете версию PHP младше 4.2.0, вам следует включить эту возможность вручную при сборке PHP. Под UNIX следует передать конфигуратору опцию --enable-trans-sid. Если эта опция сборки и опция времени исполнения session.use_trans_sid включены, в относительные URI будут автоматически добавляться идентификаторы сессии.
В качестве альтернативы вы можете использовать константу SID, которая устанавливается при запуске сессии. Если клиентское ПО не хранит подходящую сессионную cookie, SID имеет вид session_name=session_id. В противном случае содержит пустую строку. Таким образом, вы можете в любом случае внедрять его в URL. Приведенный ниже пример демонстрирует, как зарегистрировать переменную и как правильно построить ссылку на другую страницу, используя SID. Пример #1 Подсчет количества посещений конкретного пользователя
<?php Функция htmlspecialchars() может использоваться для вывода SID с целью предотвращения XSS-аттак. Вывод SID способом, показанном выше, не является обязательным, если опция --enable-trans-sid была использована при компиляции PHP.
|
|