Модуль 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
on |
v1 |
log |
off ;
|
умолчание:
|
userid off;
|
контекст:
|
http , server , location
|
Разрешает или запрещает выдачу кук и запись приходящих кук в лог:
on
-
разрешает выдачу кук версии 2
и запись приходящих кук в лог;
v1
-
разрешает выдачу кук версии 1
и запись приходящих кук в лог;
log
-
запрещает выдачу кук,
но разрешает запись приходящих кук в лог;
off
-
запрещает выдачу кук и запись приходящих кук в лог.
синтаксис:
|
userid_domain имя | none ;
|
умолчание:
|
userid_domain none;
|
контекст:
|
http , server , location
|
Задаёт домен, для которого устанавливается кука.
Параметр none запрещает выдавать домен для куки.
синтаксис:
|
userid_expires время | max |
off ;
|
умолчание:
|
userid_expires off;
|
контекст:
|
http , server , location
|
Задаёт время, в течение которого браузер должен хранить куку.
Параметр max устанавливает срок хранения куки до
31 декабря 2037 года 23:55:55 GMT.
Это максимальное время, которое понимают старые браузеры.
Указание параметра off позволяет ограничить время
действия куки сессией браузера.
синтаксис:
|
userid_mark
буква | цифра |
= |
off ;
|
умолчание:
|
userid_mark off;
|
контекст:
|
http , server , location
|
Если параметр не off , включает механизм маркировки кук
и задаёт символ, используемый в качестве метки.
Этот механизм позволяет добавить или изменить
userid_p3p и/или время хранения куки, но при этом оставить
неизменным идентификатор клиента.
Меткой может быть любая буква английского алфавита (с учётом регистра),
цифра или знак “= ”.
Если метка задана, то она сравнивается с первым дополняющим символом
в base64 представлении идентификатора клиента, передаваемом в куке.
Если они не совпадают, то кука перепосылается с заданной меткой,
временем хранения и заголовком “P3P”.
синтаксис:
|
userid_name имя ;
|
умолчание:
|
userid_name uid;
|
контекст:
|
http , server , location
|
Задаёт имя куки.
синтаксис:
|
userid_p3p строка | none ;
|
умолчание:
|
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
-
Имя куки и выданный идентификатор клиента.
|