=encoding utf-8 =head1 NAME ngx_http_userid_module - Module ngx_http_userid_module =head1 The C module sets cookies suitable for client identification. Received and set cookies can be logged using the embedded variables $uid_got and $uid_set. This module is compatible with the L module for Apache. =head1 Example Configuration 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"'; =head1 Directives =head2 userid B userid I< C E C E C E C> B I B I B I B I Enables or disables setting cookies and logging the received cookies: =over =item C enables the setting of version 2 cookies and logging of the received cookies; =item C enables the setting of version 1 cookies and logging of the received cookies; =item C disables the setting of cookies, but enables logging of the received cookies; =item C disables the setting of cookies and logging of the received cookies. =back =head2 userid_domain B userid_domain I> E C> B I B I B I B I Defines a domain for which the cookie is set. The C parameter disables setting of a domain for the cookie. =head2 userid_expires B userid_expires I> E C E C> B I B I B I B I Sets a time during which a browser should keep the cookie. The parameter C will cause the cookie to expire on “C<31 Dec 2037 23:55:55 GMT>”. The parameter C will cause the cookie to expire at the end of a browser session. =head2 userid_mark B userid_mark I< I> E I> E C<=> E C> B I B I B I B I If the parameter is not C, enables the cookie marking mechanism and sets the character used as a mark. This mechanism is used to add or change L andEor a cookie expiration time while preserving the client identifier. A mark can be any letter of the English alphabet (case-sensitive), digit, or the “C<=>” character. If the mark is set, it is compared with the first padding symbol in the base64 representation of the client identifier passed in a cookie. If they do not match, the cookie is resent with the specified mark, expiration time, and C header. =head2 userid_name B userid_name I>> B I B I B I B I Sets the cookie name. =head2 userid_p3p B userid_p3p I> E C> B I B I B I B I Sets a value for the C header field that will be sent along with the cookie. If the directive is set to the special value C, the C header will not be sent in a response. =head2 userid_path B userid_path I>> B I> B I B I B I Defines a path for which the cookie is set. =head2 userid_service B userid_service I>> B I B I B I B I If identifiers are issued by multiple servers (services), each service should be assigned its own I> to ensure that client identifiers are unique. For version 1 cookies, the default value is zero. For version 2 cookies, the default value is the number composed from the last four octets of the server’s IP address. =head1 Embedded Variables The C module supports the following embedded variables: =over =item C<$uid_got> The cookie name and received client identifier. =item C<$uid_reset> If the variable is set to a non-empty string that is not “C<0>”, the client identifiers are reset. The special value “C” additionally leads to the output of messages about the reset identifiers to the L. =item C<$uid_set> The cookie name and sent client identifier. =back