| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Apache module mod_usertrack</TITLE> |
| </HEAD> |
| |
| <!-- Background white, links blue (unvisited), navy (visited), red (active) --> |
| <BODY |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#000080" |
| ALINK="#FF0000" |
| > |
| <!--#include virtual="header.html" --> |
| <H1 ALIGN="CENTER">Module mod_usertrack</H1> |
| |
| Previous releases of Apache have included a module which generates a |
| 'clickstream' log of user activity on a site using cookies. This was |
| called the "cookies" module, mod_cookies. In Apache 1.2 and later this |
| module has been renamed the "user tracking" module, |
| mod_usertrack. This module has been simplified and new directives |
| added. |
| |
| <HR> |
| |
| <H2>Logging</H2> |
| |
| Previously, the cookies module (now the user tracking module) did its |
| own logging, using the <TT>CookieLog</TT> directive. In this release, |
| this module does no logging at all. Instead, a configurable log |
| format file should be used to log user click-streams. This is possible |
| because the logging module now allows <A |
| HREF="../multilogs.html">multiple log files</A>. The cookie itself is |
| logged by using the text <TT>%{cookie}n </TT> |
| |
| in the log file format. For example: |
| <PRE> |
| CustomLog logs/clickstream "%{cookie}n %r %t" |
| </PRE> |
| |
| For backward compatibility the configurable log module implements the |
| old <TT>CookieLog</TT> directive, but this should be upgraded to the |
| above <TT>CustomLog</TT> directive. |
| |
| <H2>Directives</H2> |
| |
| <UL> |
| <LI><A HREF="#cookieexpires">CookieExpires</A> |
| <LI><A HREF="#cookiename">CookieName</A> |
| <LI><A HREF="#cookietracking">CookieTracking</A> |
| </UL> |
| |
| <HR> |
| |
| <H2><A NAME="cookieexpires">CookieExpires</A></H2> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> CookieExpires <EM>expiry-period</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> optional<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_usertrack<P> |
| |
| When used, this directive sets an expiry time on the cookie generated |
| by the usertrack module. The <EM>expiry-period</EM> can be given either |
| as a number of seconds, or in the format such as "2 weeks 3 days 7 |
| hours". Valid denominations are: years, months, weeks, hours, minutes |
| and seconds. If the expiry time is in any format other than one |
| number indicating the number of seconds, it must be enclosed by |
| double quotes. |
| |
| <P>If this directive is not used, cookies last only for the current |
| browser session.</P> |
| |
| <H2><A NAME="cookiename">CookieName</A></H2> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> CookieName <EM>token</EM> |
| <BR> |
| <A |
| HREF="directive-dict.html#Default" |
| REL="Help" |
| ><STRONG>Default:</STRONG></A> <EM>Apache</EM> |
| <BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host, directory, |
| .htaccess<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> optional<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_usertrack |
| <BR> |
| <A |
| HREF="directive-dict.html#Compatibility" |
| REL="Help" |
| ><STRONG>Compatibility:</STRONG></A> Apache 1.3.7 and later |
| <P> |
| This directive allows you to change the name of the cookie this module |
| uses for its tracking purposes. By default the cookie is named |
| "<CODE>Apache</CODE>". |
| </P> |
| <P> |
| You must specify a valid cookie name; results are unpredictable if |
| you use a name containing unusual characters. Valid characters |
| include A-Z, a-z, 0-9, "_", and "-". |
| </P> |
| |
| <H2><A NAME="cookietracking">CookieTracking</A></H2> |
| <A |
| HREF="directive-dict.html#Syntax" |
| REL="Help" |
| ><STRONG>Syntax:</STRONG></A> CookieTracking <EM>on | off</EM><BR> |
| <A |
| HREF="directive-dict.html#Context" |
| REL="Help" |
| ><STRONG>Context:</STRONG></A> server config, virtual host, directory, |
| .htaccess<BR> |
| <A |
| HREF="directive-dict.html#Override" |
| REL="Help" |
| ><STRONG>Override:</STRONG></A> FileInfo<BR> |
| <A |
| HREF="directive-dict.html#Status" |
| REL="Help" |
| ><STRONG>Status:</STRONG></A> optional<BR> |
| <A |
| HREF="directive-dict.html#Module" |
| REL="Help" |
| ><STRONG>Module:</STRONG></A> mod_usertrack<P> |
| |
| When the user track module is compiled in, and "CookieTracking on" is |
| set, Apache will start sending a user-tracking cookie for all new |
| requests. This directive can be used to turn this behavior on or off |
| on a per-server or per-directory basis. By default, compiling |
| mod_usertrack will not activate cookies. |
| |
| <HR> |
| |
| <H2>2-digit or 4-digit dates for cookies?</H2> |
| |
| (the following is from message |
| <022701bda43d$9d32bbb0$1201a8c0@christian.office.sane.com> in |
| the new-httpd archives) |
| |
| <P> |
| |
| <PRE> |
| From: "Christian Allen" <christian@sane.com> |
| Subject: Re: Apache Y2K bug in mod_usertrack.c |
| Date: Tue, 30 Jun 1998 11:41:56 -0400 |
| |
| Did some work with cookies and dug up some info that might be useful. |
| |
| True, Netscape claims that the correct format NOW is four digit dates, and |
| four digit dates do in fact work... for Netscape 4.x (Communicator), that |
| is. However, 3.x and below do NOT accept them. It seems that Netscape |
| originally had a 2-digit standard, and then with all of the Y2K hype and |
| probably a few complaints, changed to a four digit date for Communicator. |
| Fortunately, 4.x also understands the 2-digit format, and so the best way to |
| ensure that your expiration date is legible to the client's browser is to |
| use 2-digit dates. |
| |
| However, this does not limit expiration dates to the year 2000; if you use |
| an expiration year of "13", for example, it is interpreted as 2013, NOT |
| 1913! In fact, you can use an expiration year of up to "37", and it will be |
| understood as "2037" by both MSIE and Netscape versions 3.x and up (not sure |
| about versions previous to those). Not sure why Netscape used that |
| particular year as its cut-off point, but my guess is that it was in respect |
| to UNIX's 2038 problem. Netscape/MSIE 4.x seem to be able to understand |
| 2-digit years beyond that, at least until "50" for sure (I think they |
| understand up until about "70", but not for sure). |
| |
| Summary: Mozilla 3.x and up understands two digit dates up until "37" |
| (2037). Mozilla 4.x understands up until at least "50" (2050) in 2-digit |
| form, but also understands 4-digit years, which can probably reach up until |
| 9999. Your best bet for sending a long-life cookie is to send it for some |
| time late in the year "37". |
| </PRE> |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |