Модуль Apache mod_session_cookie
| Описание: | Поддержка сессий на основе файлов cookie |
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | session_cookie_module |
| Файл источника: | mod_session_cookie.c |
| Совместимость: | Доступен в Apache 2.3 и более поздних версиях |
Краткое описание
Предупреждение
Модули сессий используют HTTP-файлы cookie, и, как следствие, могут быть уязвимы к атакам типа Cross Site Scripting (XSS) или раскрывать потенциально конфиденциальную информацию клиентам. Пожалуйста, убедитесь, что соответствующие риски учтены перед включением функциональности сессий на вашем сервере.
Этот подмодуль mod_session предоставляет поддержку хранения пользовательских сессий в браузере удалённого клиента с использованием HTTP-файлов cookie.
Использование файлов cookie для хранения сессии избавляет сервер или группу серверов от необходимости хранить сессию локально или координировать совместное использование сессии, что может быть полезно для высоконагруженных сред, где серверная сессия может быть слишком ресурсоёмкой.
Если требуется конфиденциальность сессии, можно использовать модуль mod_session_crypto, чтобы зашифровать содержимое сессии перед записью в клиентский браузер.
Для получения более подробной информации о сессионном интерфейсе, обратитесь к документации модуля %%%CODE_BLOCK_2%%.
Основные примеры
Чтобы создать простую сессию и сохранить её в файле cookie с именем session, настройте сессию следующим образом:
Сессия на основе браузера
Session On SessionCookieName session path=/
Для получения дополнительных примеров настройки сессии для чтения и записи CGI-приложением, см. раздел mod_session.
Для документации о том, как сессия может использоваться для хранения данных пользователя и пароля, см. документацию модуля %%%CODE_BLOCK_5%%.
Директива SessionCookieName
| Описание: | Имя и атрибуты файла cookie RFC2109 для хранения сессии |
|---|---|
| Синтаксис: | SessionCookieName name attributes |
| Значение по умолчанию: | none |
| Контекст: | настройки сервера, виртуальный хост, директория, .htaccess |
| Статус: | Расширение |
| Модуль: | mod_session_cookie |
Директива SessionCookieName задаёт имя и (необязательные) атрибуты файла cookie RFC2109, в котором будет храниться сессия. Файлы cookie RFC2109 устанавливаются с помощью заголовка Set-Cookie HTTP.
Можно указать необязательный список атрибутов файла cookie, как показано в примере ниже. Эти атрибуты вставляются в файл cookie как есть и не интерпретируются Apache. Убедитесь, что ваши атрибуты определены корректно в соответствии со спецификацией файлов cookie.
Файл cookie с атрибутами
Session On SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
Директива SessionCookieName2
| Описание: | Имя и атрибуты файла cookie RFC2965 для хранения сессии |
|---|---|
| Синтаксис: | SessionCookieName2 name attributes |
| Значение по умолчанию: | none |
| Контекст: | настройки сервера, виртуальный хост, директория, .htaccess |
| Статус: | Расширение |
| Модуль: | mod_session_cookie |
Директива SessionCookieName2 задаёт имя и (необязательные) атрибуты файла cookie RFC2965, в котором будет храниться сессия. Файлы cookie RFC2965 устанавливаются с помощью заголовка Set-Cookie2 HTTP.
Можно указать необязательный список атрибутов файла cookie, как показано в примере ниже. Эти атрибуты вставляются в файл cookie как есть и не интерпретируются Apache. Убедитесь, что ваши атрибуты определены корректно в соответствии со спецификацией файлов cookie.
Файл cookie2 с атрибутами
Session On SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
Директива SessionCookieRemove
| Описание: | Управление удалением файлов cookie сессии из входящих HTTP-заголовков |
|---|---|
| Синтаксис: | SessionCookieRemove On|Off |
| Значение по умолчанию: | SessionCookieRemove Off |
| Контекст: | настройки сервера, виртуальный хост, директория, .htaccess |
| Статус: | Расширение |
| Модуль: | mod_session_cookie |
Флаг SessionCookieRemove управляет удалением файлов cookie, содержащих сессию, из заголовков во время обработки запроса.
В ситуации с обратным прокси, когда сервер Apache выступает как передняя часть сервера для сервера-источника, раскрытие содержимого файла cookie сессии серверу-источнику может являться потенциальной угрозой конфиденциальности. При установке значения "вкл.", файл cookie сессии будет удалён из входящих HTTP-заголовков.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_session_cookie.html