Home » Projects

mod_atrack - Advanced user tracking for Apache web servers

Introduction

mod_atrack extends the functionality of mod_usertrack to allow the server to track a selected subset of users visiting an Apache web server. It is released under the Apache LICENSE. This software comes with no warranty, expressed or implied, etc.

The code compiles out of the box on Apache-1.3 under Unix systems, it needs some work to port it to windows, I would gladly accept an offer from anybody with a windows system.

Download

The current release is 1.0.0, dated 2000-02-17. The ChangeLog is in the top of the source code, and will apply to changes from the date of public release. I have not logged in house development. Older versions will be linked below as and when there are significant modifications.

ChangeLog

Documentation

Please see the documentation for mod_usertrack for explanation of the principle. This documentation bears improvement. Most of the documentation here is copied directly from that source where the functionality of this new code was designed to be identical to the functionality of mod_usertrack.

mod_atrack was written to respond to a few user issues. Users might not want cookies and might not like pressing 'no' repeatedly. We might not want to track every user. We might wish to track users coming only from certain referers, for example search engines. The logic works as follows:



Configuration directives

CookieExpires

Syntax: CookieExpires expiry-period
Context: server config, virtual host
Status: optional
Module: mod_atrack

When used, this directive sets an expiry time on the cookie generated by the atrack module. The expiry-period 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.

If this directive is not used, cookies last only for the current browser session.

CookieTracking

Syntax: CookieTracking on | off
Context: server config, virtual host
Status: optional
Module: mod_atrack

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_atrack will not activate cookies.

CookieUsers

Syntax: CookieUsers value
Context: server config, virtual host
Status: optional
Module: mod_atrack

This directive tells the module to track only every nth user. Selection is done randomly with a 1 in n probability that an otherwise eligible user will be sent a cookie. The default is 1, which means that every user will get a cookie.

CookieNoLocalRefer

Syntax: CookieNoLocalRefer on | off
Context: server config, virtual host
Status: optional
Module: mod_atrack

Tells the module not to send a cookie to a user who is moving within the site. If a user visits the site, is offered a cookie and refuses, it may be assumed that they will continue to refuse cookies. Therefore cookies may be sent only on entering the site for the first time.

Blank referers and clients which do not send a referer to the server are treated as local referers, to play safe.

CookieServerList

Syntax: CookieServerList on | off
Context: server config, virtual host
Status: optional
Module: mod_atrack

Enables matching against the referring server list, and hence will not attempt to send cookies to users with no referer or one which does not match an expression in the list.

CookieServerAdd

Syntax: CookieServerAdd regex
Context: server config, virtual host
Status: optional
Module: mod_atrack

Adds a regular expression to the list of valid referring servers. When CookieServerList is set to on, only users with a valid referer matching at least one regular expression in this list will come under consideration for receiving a cookie.

Related projects

These are related projects which have come to my attention. I in no way endorse, maintain or take any responsibility for them.