Модуль 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- Имя куки и выданный идентификатор клиента.