mirror of
https://github.com/apache/httpd.git
synced 2025-05-17 15:21:13 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87273 13f79535-47bb-0310-9956-ffa450edef68
225 lines
6.9 KiB
HTML
225 lines
6.9 KiB
HTML
<!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>
|
|
|
|
<p>This module uses cookies to provide for a <em>clickstream</em> log of user
|
|
activity on a site.</p>
|
|
|
|
<P><A
|
|
HREF="module-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Extension
|
|
<BR>
|
|
<A
|
|
HREF="module-dict.html#SourceFile"
|
|
REL="Help"
|
|
><STRONG>Source File:</STRONG></A> mod_usertrack.c
|
|
<BR>
|
|
<A
|
|
HREF="module-dict.html#ModuleIdentifier"
|
|
REL="Help"
|
|
><STRONG>Module Identifier:</STRONG></A> usertrack_module
|
|
<BR>
|
|
<A
|
|
HREF="module-dict.html#Compatibility"
|
|
REL="Help"
|
|
><STRONG>Compatibility:</STRONG></A> Known as mod_cookies prior to
|
|
Apache 1.3.
|
|
</P>
|
|
|
|
<h2>Summary</h2>
|
|
|
|
<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>
|
|
|
|
<H2>Directives</H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="#cookieexpires">CookieExpires</A>
|
|
<LI><A HREF="#cookiename">CookieName</A>
|
|
<LI><A HREF="#cookietracking">CookieTracking</A>
|
|
</UL>
|
|
|
|
<H2>Logging</H2>
|
|
|
|
<p>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 allows multiple log files. 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>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>
|
|
|
|
<HR>
|
|
|
|
<H2><A NAME="cookieexpires">CookieExpires</A> directive</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>
|
|
|
|
<HR>
|
|
<H2><A NAME="cookiename">CookieName</A> directive</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>
|
|
|
|
<hr>
|
|
<H2><A NAME="cookietracking">CookieTracking</A> directive</H2>
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> CookieTracking on|off<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.
|
|
|
|
|
|
|
|
<!--#include virtual="footer.html" -->
|
|
</BODY>
|
|
</HTML>
|