| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> |
| <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> |
| <meta content="noindex, nofollow" name="robots" /> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>mod_usertrack - Apache HTTP Server</title> |
| <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> |
| <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> |
| <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> |
| <link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/mod/mod_usertrack.html" rel="canonical" /></head> |
| <body> |
| <div id="page-header"> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> |
| <p class="apache">Apache HTTP Server Version 2.0</p> |
| <img alt="" src="../images/feather.gif" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">Modules</a></div> |
| <div id="page-content"> |
| <div class="retired"><h4>Please note</h4> |
| <p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p> |
| <ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/mod/mod_usertrack.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Apache Module mod_usertrack</h1> |
| <div class="toplang"> |
| <p><span>Available Languages: </span><a href="../en/mod/mod_usertrack.html" title="English"> en </a></p> |
| </div> |
| <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td> |
| <em>Clickstream</em> logging of user activity on a site |
| </td></tr> |
| <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> |
| <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>usertrack_module</td></tr> |
| <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_usertrack.c</td></tr></table> |
| <h3>Summary</h3> |
| |
| <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> |
| </div> |
| <div id="quickview"><h3 class="directives">Directives</h3> |
| <ul id="toc"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#cookiedomain">CookieDomain</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#cookieexpires">CookieExpires</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#cookiename">CookieName</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#cookiestyle">CookieStyle</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#cookietracking">CookieTracking</a></li> |
| </ul> |
| <h3>Topics</h3> |
| <ul id="topics"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#logging">Logging</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#cookiedate">2-digit or 4-digit dates for cookies?</a></li> |
| </ul></div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="logging" id="logging">Logging</a></h2> |
| |
| |
| <p>Previously, the cookies module (now the user tracking |
| module) did its own logging, using the <code class="directive">CookieLog</code> |
| 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> |
| <div class="example"><p><code> |
| CustomLog logs/clickstream "%{cookie}n %r %t" |
| </code></p></div> |
| |
| <p>For backward compatibility the configurable log module |
| implements the old <code class="directive"><a href="../mod/mod_log_config.html#cookielog">CookieLog</a></code> directive, but this |
| should be upgraded to the above <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> directive. </p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="cookiedate" id="cookiedate">2-digit or 4-digit dates for cookies?</a></h2> |
| |
| |
| <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> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="CookieDomain" id="CookieDomain">CookieDomain</a> <a name="cookiedomain" id="cookiedomain">Directive</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The domain to which the tracking cookie applies</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieDomain <em>domain</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> |
| </table> |
| |
| <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, |
| <code>.foo.com</code> is legal, but <code>foo.bar.com</code> and |
| <code>.com</code> are not.</p> |
| |
| <div class="note">Most browsers in use today will not allow cookies to be set |
| for a two-part top level domain, such as <code>.co.uk</code>, |
| although such a domain ostensibly fulfills the requirements |
| above.<br /> |
| |
| These domains are equivalent to top level domains such as |
| <code>.com</code>, and allowing such cookies may be a security |
| risk. Thus, if you are under a two-part top level domain, you |
| should still use your actual domain, as you would with any other top |
| level domain (for example, use <code>.foo.co.uk</code>). |
| </div> |
| |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="CookieExpires" id="CookieExpires">CookieExpires</a> <a name="cookieexpires" id="cookieexpires">Directive</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Expiry time for the tracking cookie</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieExpires <em>expiry-period</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> |
| </table> |
| <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> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="CookieName" id="CookieName">CookieName</a> <a name="cookiename" id="cookiename">Directive</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the tracking cookie</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieName <em>token</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieName Apache</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> |
| </table> |
| <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> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="CookieStyle" id="CookieStyle">CookieStyle</a> <a name="cookiestyle" id="cookiestyle">Directive</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Format of the cookie header field</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieStyle |
| <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieStyle Netscape</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> |
| </table> |
| <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. At the time of writing, most browsers only fully |
| support <code>CookieStyle Netscape</code>.</p> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="CookieTracking" id="CookieTracking">CookieTracking</a> <a name="cookietracking" id="cookietracking">Directive</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables tracking cookie</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CookieTracking on|off</code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CookieTracking off</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> |
| <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_usertrack</td></tr> |
| </table> |
| <p>When <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> is loaded, and |
| <code>CookieTracking on</code> is set, Apache will send 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, enabling |
| <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> will <strong>not</strong> |
| activate cookies. </p> |
| |
| |
| </div> |
| </div> |
| <div class="bottomlang"> |
| <p><span>Available Languages: </span><a href="../en/mod/mod_usertrack.html" title="English"> en </a></p> |
| </div><div id="footer"> |
| <p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div> |
| </body></html> |