| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> |
| <!-- $Revision: 1.10 $ --> |
| |
| <!-- |
| Copyright 2002-2004 The Apache Software Foundation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <modulesynopsis metafile="mod_usertrack.xml.meta"> |
| <name>mod_usertrack</name> |
| <description> |
| <em>Clickstream</em> logging of user activity on a site |
| </description> |
| <status>Extension</status> |
| <sourcefile>mod_usertrack.c</sourcefile> |
| <identifier>usertrack_module</identifier> |
| |
| <summary> |
| <p>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.</p> |
| </summary> |
| |
| |
| <section id="logging"> |
| <title>Logging</title> |
| |
| <p>Previously, the cookies module (now the user tracking |
| module) did its own logging, using the <directive>CookieLog</directive> |
| 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 multiple log files. The cookie itself is logged by |
| using the text <code>%{cookie}n</code> in the log file format. For |
| example:</p> |
| <example> |
| CustomLog logs/clickstream "%{cookie}n %r %t" |
| </example> |
| |
| <p>For backward compatibility the configurable log module |
| implements the old <directive |
| module="mod_log_config">CookieLog</directive> directive, but this |
| should be upgraded to the above <directive |
| module="mod_log_config">CustomLog</directive> directive. </p> |
| </section> |
| |
| <section id="cookiedate"> |
| <title>2-digit or 4-digit dates for cookies?</title> |
| |
| <p>(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> |
| |
| </section> |
| |
| <directivesynopsis> |
| <name>CookieDomain</name> |
| <description>The domain to which the tracking cookie applies</description> |
| <syntax>CookieDomain <em>domain</em></syntax> |
| <contextlist> |
| <context>server config</context> |
| <context>virtual host</context> |
| <context>directory</context> |
| <context>.htaccess</context> |
| </contextlist> |
| <override>FileInfo</override> |
| |
| <usage> |
| |
| <p>This directive controls the setting of the domain to which |
| the tracking cookie applies. If not present, no domain is |
| included in the cookie header field.</p> |
| |
| <p>The domain string <strong>must</strong> begin with a dot, and |
| <strong>must</strong> include at least one embedded dot. That is, |
| ".foo.com" is legal, but "foo.bar.com" and ".com" are not.</p> |
| </usage> |
| </directivesynopsis> |
| |
| |
| <directivesynopsis> |
| <name>CookieExpires</name> |
| <description>Expiry time for the tracking cookie</description> |
| <syntax>CookieExpires <em>expiry-period</em></syntax> |
| <contextlist> |
| <context>server config</context> |
| <context>virtual host</context> |
| <context>directory</context> |
| <context>.htaccess</context> |
| </contextlist> |
| <override>FileInfo</override> |
| |
| <usage> |
| <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, days, 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> |
| |
| <p>If this directive is not used, cookies last only for the |
| current browser session.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>CookieName</name> |
| <description>Name of the tracking cookie</description> |
| <syntax>CookieName <em>token</em></syntax> |
| <default>CookieName Apache</default> |
| <contextlist> |
| <context>server config</context> |
| <context>virtual host</context> |
| <context>directory</context> |
| <context>.htaccess</context> |
| </contextlist> |
| <override>FileInfo</override> |
| |
| <usage> |
| <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> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>CookieStyle</name> |
| <description>Format of the cookie header field</description> |
| <syntax>CookieStyle |
| <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></syntax> |
| <default>CookieStyle Netscape</default> |
| <contextlist> |
| <context>server config</context> |
| <context>virtual host</context> |
| <context>directory</context> |
| <context>.htaccess</context> |
| </contextlist> |
| <override>FileInfo</override> |
| |
| <usage> |
| <p>This directive controls the format of the cookie header |
| field. The three formats allowed are:</p> |
| |
| <ul> |
| <li><strong>Netscape</strong>, which is the original but now deprecated |
| syntax. This is the default, and the syntax Apache has |
| historically used.</li> |
| |
| <li><strong>Cookie</strong> or <strong>RFC2109</strong>, which is the syntax that |
| superseded the Netscape syntax.</li> |
| |
| <li><strong>Cookie2</strong> or <strong>RFC2965</strong>, which is the most |
| current cookie syntax.</li> |
| </ul> |
| |
| <p>Not all clients can understand all of these formats. but you |
| should use the newest one that is generally acceptable to your |
| users' browsers.</p> |
| </usage> |
| </directivesynopsis> |
| |
| |
| |
| <directivesynopsis> |
| <name>CookieTracking</name> |
| <description>Enables tracking cookie</description> |
| <syntax>CookieTracking on|off</syntax> |
| <default>CookieTracking off</default> |
| <contextlist> |
| <context>server config</context> |
| <context>virtual host</context> |
| <context>directory</context> |
| <context>.htaccess</context> |
| </contextlist> |
| <override>FileInfo</override> |
| |
| <usage> |
| <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. </p> |
| |
| </usage> |
| </directivesynopsis> |
| |
| </modulesynopsis> |