Sponsored Content
Top Forums Web Development How do I verify my web visitor is still online Post 302284663 by otheus on Friday 6th of February 2009 04:23:35 AM
Old 02-06-2009
One thing you can do with Apache is to create a seperate logfile with just the Cookie (and access time). You can then send this log through a program which monitors the last time a cookie was used, and if it has gone past the time you want, you remove it from the database. So a configuration in apache would look like:
Code:
CustomLog "|/usr/local/bin/user_tracker" cookies
LogFormat "%v\t%{s}t\t%200{Foobar}C" cookies

Where Foobar is the name of your cookie that identifies the user session.
The logs are sent to a script (/usr/local/bin/user_tracker) like this one:
Code:
#!/usr/bin/perl -n
chomp;
($vhost,$time,$cookie)=split("\t");

# Remember this cookie
$Cookies{$vhost . ":" .  $cookie}=$time;

# Every 5 minutes, scan through cookies and remove obsolete database entries
if ($time >= $next_check)  {
    while ( ($cookie,$cookie_time) = each(%Cookies) ) {
       if ($cookie_time >= $expire_time) {
         delete $Cookie{$cookie}; 
         push @to_delete, $cookie;
       }
    }
    foreach (@to_delete) { 
         ($vhost, $cookie_name, $cookie_value) = m/^(.*?):(.*?)=(.*)/;
         # Insert code here to delete $cookie_value from database
       }
    }
    $next_check = $time + 5*60;    # Check for expired cookies every 5 minutes
    $expire_time = $time + 20*60;   # Expire cookies every 20 minutes
}

 

We Also Found This Discussion For You

1. Post Here to Contact Site Administrators and Moderators

Suggestion: visitor graphs

Perhaps we could think of visitor graphs that would give a sense of both the popularity of the forum and - more importantly - the popularity of Linux and the Open Source operating systems movement. Something similar to what sourceforge has done for their projects: SourceForge.net: Project... (2 Replies)
Discussion started by: figaro
2 Replies
Dancer::Cookie(3pm)					User Contributed Perl Documentation				       Dancer::Cookie(3pm)

NAME
Dancer::Cookie - class representing cookies SYNOPSIS
use Dancer::Cookie; my $cookie = Dancer::Cookie->new( name => $cookie_name, value => $cookie_value ); DESCRIPTION
Dancer::Cookie provides a HTTP cookie object to work with cookies. ATTRIBUTES
name The cookie's name. value The cookie's value. expires The cookie's expiration date. There are several formats. Unix epoch time like 1288817656 to mean "Wed, 03-Nov-2010 20:54:16 GMT" A human readable offset from the current time such as "2 hours". It currently understands... s second seconds sec secs m minute minutes min mins h hr hour hours d day days w week weeks M month months y year years Months and years are currently fixed at 30 and 365 days. This may change. Anything else is used verbatim. domain The cookie's domain. path The cookie's path. secure If true, it instructs the client to only serve the cookie over secure connections such as https. http_only By default, cookies are created with a property, named "HttpOnly", that can be used for security, forcing the cookie to be used only by the server (via HTTP) and not by any JavaScript code. If your cookie is meant to be used by some JavaScript code, set this attribute to 0. METHODS
/SUBROUTINES new Create a new Dancer::Cookie object. You can set any attribute described in the ATTRIBUTES section above. init Runs an expiration test and sets a default path if not set. to_header Creates a proper HTTP cookie header from the content. AUTHOR
Alexis Sukrieh LICENSE AND COPYRIGHT
Copyright 2009-2010 Alexis Sukrieh. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information. perl v5.14.2 2011-11-30 Dancer::Cookie(3pm)
All times are GMT -4. The time now is 02:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy