Модуль 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 в лог:

on

разрешает выдачу cookie версии 2 и запись приходящих cookie в лог;

v1

разрешает выдачу cookie версии 1 и запись приходящих cookie в лог;

log

запрещает выдачу cookie, но разрешает запись приходящих cookie в лог;

off

запрещает выдачу 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 и выданный идентификатор клиента.