Apache::AppSamurai::Tracker - Apache::AppSamurai scratch-pad/tracking storage


 use Apache::AppSamurai::Tracker;
 tie %hash, 'Apache::AppSamurai::Tracker', $id, {
    Store     => 'Apache::Session::Store::DB_File',
    Lock      => 'Null',
 # Postgress backend with session ID passed in directly
 # and Baes64 encoding
 tie %hash, 'Apache::AppSamurai::Tracker', $id, {
    Store     => 'Apache::Session::Store::Postgres',
    Lock      => 'Null',
 # you decide!


This module is a subclass of Apache::Session that can be used to share non-sensitive information between multiple Apache server processes. Its main use is to provide storage of IP login failures and other non-session data for Apache::AppSamurai.

The normal Apache::Session Generate option is not used. Each tracker uses a set session ID. For instance, "IPFailures" is used for the IP failure tracking feature in Apache::AppSamurai.

The Apache::Session Serialize type is hard set to Base64. This allows for storage in files or inside a database.

The Store and Lock options are still used and relevant, as are any configuration options for the specific sub-modules that are used.


You pass the modules you want to use as arguments to the constructor. For normal Apache::Session sub modules, the Apache::Session::Whatever part is appended for you: you should not supply it. (Apache::AppSamurai::Tracker supports the same extended module syntax as Apache::AppSamurai::Session, though in most cases, the standard Apache::Sesssion types should suffice.)

For example, if you wanted to use MySQL as the backing store, you should give the argument Store = 'MySQL'>, and not Store = 'Apache::Session::Store::MySQL'>. There are two modules that you need to specify. Store is the backing store to use. Lock is the locking scheme.

There are many modules included in the Apache::Session distribution that can be used directly with this module.

Please see Apache::Session for more information.


Apache::AppSamurai, Apache::AppSamurai::Session, Apache::Session


Paul M. Hirsch, <paul at>


See Apache::AppSamurai for information on bug submission and tracking.


See Apache::AppSamurai for support information.


This module is based partially on code written by Jeffrey William Baker <> and the Apache::Session authors.


Copyright 2008 Paul M. Hirsch, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.