Модуль http_userid
#
Выдает cookie для идентификации клиентов. Для записи в лог полученных и выданных cookie можно использовать встроенные переменные $uid_got и $uid_set. Модуль совместим с модулем mod_uid для Apache.
Пример конфигурации#
userid on;
userid_name uid;
userid_domain example.com;
userid_path /;
userid_expires 365d;
userid_p3p 'policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"';
Директивы#
userid#
- Синтаксис:
userid
on | v1 | log | off;- Умолчание:
userid off;
- Контекст:
http, server, location
Разрешает или запрещает выдачу cookie и запись приходящих cookie в лог:
|
разрешает выдачу cookie версии 2 и запись приходящих cookie в лог; |
|
разрешает выдачу cookie версии 1 и запись приходящих cookie в лог; |
|
запрещает выдачу cookie, но разрешает запись приходящих cookie в лог; |
|
запрещает выдачу cookie и запись приходящих cookie в лог. |
userid_domain#
- Синтаксис:
userid_domain
имя | none;- Умолчание:
userid_domain none;
- Контекст:
http, server, location
Задает домен, для которого устанавливается cookie. Параметр none
запрещает выдавать домен для cookie.
userid_expires#
- Синтаксис:
userid_expires
время | max | off;- Умолчание:
userid_expires off;
- Контекст:
http, server, location
Задает время, в течение которого браузер должен хранить cookie. Параметр max устанавливает срок хранения cookie до 31 декабря 2037 года 23:55:55 GMT. Указание параметра off
позволяет ограничить время действия cookie сессией браузера.
userid_flags#
- Синтаксис:
userid_flags
off | флаг …;- Умолчание:
userid_flags off;
- Контекст:
http, server, location
Если параметр не off
, задает один или несколько дополнительных флагов для cookie: secure, httponly, samesite=strict, samesite=lax, samesite=none.
userid_mark#
- Синтаксис:
userid_mark
буква | цифра | = | off;- Умолчание:
userid_mark off;
- Контекст:
http, server, location
Если параметр не off
, включает механизм маркировки cookie и задает символ, используемый в качестве метки. Этот механизм позволяет добавить или изменить userid_p3p и/или время хранения cookie, но при этом оставить неизменным идентификатор клиента. Меткой может быть любая буква английского алфавита (с учетом регистра), цифра или знак «=».
Если метка задана, то она сравнивается с первым дополняющим символом в base64 представлении идентификатора клиента, передаваемом в cookie. Если они не совпадают, то cookie перепосылается с заданной меткой, временем хранения и заголовком «P3P».
userid_name#
- Синтаксис:
userid_name
имя;- Умолчание:
userid_name uid;
- Контекст:
http, server, location
Задает имя cookie.
userid_p3p#
- Синтаксис:
userid_p3p
строка | none;- Умолчание:
userid_p3p none;
- Контекст:
http, server, location
Задает значение для поля заголовка «P3P», которое будет выдаваться вместе с cookie. Если задано специальное значение none
, то в ответе не будет заголовка «P3P».
userid_path#
- Синтаксис:
userid_path
путь;- Умолчание:
userid_path /;
- Контекст:
http, server, location
Задает путь, для которого устанавливается cookie.
userid_service#
- Синтаксис:
userid_service
номер;- Умолчание:
userid_service IP-адрес сервера;
- Контекст:
http, server, location
Если идентификаторы выдаются несколькими серверами (сервисами), то каждому сервису следует назначить свой собственный $1
, для обеспечения уникальности выдаваемых идентификаторов клиентов. По умолчанию для cookie первой версии используется ноль. Для cookie второй версии по умолчанию используется число, составленное из последних четырех октетов IP-адреса сервера.
Встроенные переменные#
$uid_got
#
Имя cookie и полученный идентификатор клиента.
$uid_reset
#
Если значением является непустая строка не равная 0
, то клиентские идентификаторы перевыдаются. Специальное значение log
дополнительно приводит к выдаче сообщений о перевыданных идентификаторах в error_log.
$uid_set
#
Имя cookie и выданный идентификатор клиента.