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