#!/usr/bin/perl use CGI qw/:simple/; use HTTP::Cookies; use Data::Dumper; use Digest::MD5; use strict; use LWP; my $var_utmac='UA-6127617-1'; my $var_utmhn='profile.myspace.com'; my $time = localtime(); my ($cookie, $r); if ($ENV{HTTP_COOKIE} =~ /u=([.a-fA-F\d]+)(;|$)/) { $cookie = $1; if ($ENV{HTTP_COOKIE} =~ /r=(\d+)(;|$)/) { $r = $1 + 1; } else { $r = 1; } } else { $cookie = $ENV{REMOTE_ADDR} . '.' . Digest::MD5::md5_hex(rand() . $ENV{HTTP_REFERER}); } open(L, ">>/s/.urchin.tracker"); print L "$time: $var_utmhn $var_utmac\n" . Dumper(\%ENV); close(L); # make http access_log $time =~ s|^\S+\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)$|$2/$1/$4:$3|; $time =~ s|^(\d)/|0$1/|; $ENV{HTTP_REFERER} ||= "/na"; open(G, ">>/s/.urchin.log"); print G << "EOF"; $ENV{REMOTE_ADDR} - $cookie [$time -0800] "$ENV{REQUEST_METHOD} $ENV{HTTP_REFERER} $ENV{SERVER_PROTOCOL}" 200 1 "-" "$ENV{HTTP_USER_AGENT}" EOF close(G); my $var_utmn=prand(1000000000,9999999999);#random request number my $var_cookie=prand(10000000,99999999);#random cookie number my $var_random=prand(1000000000,2147483647); #number under 2147483647 my $var_today=time(); #today my $var_referer=$ENV{'HTTP_REFERER'}; #referer url my $var_uservar='-'; #enter your own user defined variable my $var_utmp='/'; my $urchinUrl='http://www.google-analytics.com/__utm.gif?utmwv=1&utmn='.$var_utmn.'&utmsr=-&utmsc=-&utmul=-&utmje=0&utmfl=-&utmdt=-&utmhn='.$var_utmhn.'&utmr='.$var_referer.'&utmp='.$var_utmp.'&utmac='.$var_utmac.'&utmcc=__utma%3D'.$var_cookie.'.'.$var_random.'.'.$var_today.'.'.$var_today.'.'.$var_today.'.2%3B%2B__utmb%3D'.$var_cookie.'%3B%2B__utmc%3D'.$var_cookie.'%3B%2B__utmz%3D'.$var_cookie.'.'.$var_today.'.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D'.$var_cookie.'.'.$var_uservar.'%3B'; my $browser = LWP::UserAgent->new; my $cookie_jar = HTTP::Cookies->new(); $browser->cookie_jar($cookie_jar); $browser->agent($ENV{'HTTP_USER_AGENT'}); my $res = $browser->get($urchinUrl); if ($res->is_success) { print $cookie_jar->as_string; print "X-Forwarded-For: $ENV{REMOTE_ADDR}\r\n"; print "Set-Cookie: r=$r; u=$cookie; path=/\r\n"; print "Content-Type: image/gif\r\n"; print "\r\n"; print $res->content; } exit; sub prand { my ($a, $b) = @_; $b -= $a; return (int(rand($b)) + $a); }