Модуль http_userid
#
Выдаёт куки для идентификации клиентов. Для записи в лог полученных и выданных кук можно использовать встроенные переменные $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
Разрешает или запрещает выдачу кук и запись приходящих кук в лог:
|
разрешает выдачу кук версии 2 и запись приходящих кук в лог; |
|
разрешает выдачу кук версии 1 и запись приходящих кук в лог; |
|
запрещает выдачу кук, но разрешает запись приходящих кук в лог; |
|
запрещает выдачу кук и запись приходящих кук в лог. |
userid_domain#
- Синтаксис:
userid_domain
имя | none;- Умолчание:
userid_domain none;
- Контекст:
http, server, location
Задаёт домен, для которого устанавливается кука. Параметр none
запрещает выдавать домен для куки.
userid_expires#
- Синтаксис:
userid_expires
время | max | off;- Умолчание:
userid_expires off;
- Контекст:
http, server, location
Задаёт время, в течение которого браузер должен хранить куку. Параметр max устанавливает срок хранения куки до 31 декабря 2037 года 23:55:55 GMT. Указание параметра off
позволяет ограничить время действия куки сессией браузера.
userid_flags#
- Синтаксис:
userid_flags
off | флаг …;- Умолчание:
userid_flags off;
- Контекст:
http, server, location
Если параметр не off
, задаёт один или несколько дополнительных флагов для куки: secure, httponly, samesite=strict, samesite=lax, samesite=none.
userid_mark#
- Синтаксис:
userid_mark
буква | цифра | = | off;- Умолчание:
userid_mark off;
- Контекст:
http, server, location
Если параметр не off
, включает механизм маркировки кук и задаёт символ, используемый в качестве метки. Этот механизм позволяет добавить или изменить userid_p3p и/или время хранения куки, но при этом оставить неизменным идентификатор клиента. Меткой может быть любая буква английского алфавита (с учётом регистра), цифра или знак “=”.
Если метка задана, то она сравнивается с первым дополняющим символом в base64 представлении идентификатора клиента, передаваемом в куке. Если они не совпадают, то кука перепосылается с заданной меткой, временем хранения и заголовком “P3P”.
userid_name#
- Синтаксис:
userid_name
имя;- Умолчание:
userid_name uid;
- Контекст:
http, server, location
Задаёт имя куки.
userid_p3p#
- Синтаксис:
userid_p3p
строка | none;- Умолчание:
userid_p3p none;
- Контекст:
http, server, location
Задаёт значение для поля заголовка “P3P”, которое будет выдаваться вместе с кукой. Если задано специальное значение none
, то в ответе не будет заголовка “P3P”.
userid_path#
- Синтаксис:
userid_path
путь;- Умолчание:
userid_path /;
- Контекст:
http, server, location
Задаёт путь, для которого устанавливается кука.
userid_service#
- Синтаксис:
userid_service
номер;- Умолчание:
userid_service IP-адрес сервера;
- Контекст:
http, server, location
Если идентификаторы выдаются несколькими серверами (сервисами), то каждому сервису следует назначить свой собственный номер
, для обеспечения уникальности выдаваемых идентификаторов клиентов. По умолчанию для кук первой версии используется ноль. Для кук второй версии по умолчанию используется число, составленное из последних четырёх октетов IP-адреса сервера.
Встроенные переменные#
$uid_got
#
Имя куки и полученный идентификатор клиента.
$uid_reset
#
Если значением является непустая строка не равная 0
, то клиентские идентификаторы перевыдаются. Специальное значение log
дополнительно приводит к выдаче сообщений о перевыданных идентификаторах в error_log.
$uid_set
#
Имя куки и выданный идентификатор клиента.