#!/usr/bin/perl #AUTHOR: Tekno Inform AS #Creation date: 28.02.03 $fpath = $0; while (chop($fpath) ne '\\') {} require "$fpath/cgi-lib.pl"; MAIN: { #&env; #&check_url(); # Les inn parametre &ReadParse(*input); $logurl = $input{'url'}; # Log user & resource &date(); # Get date my $userfile = $logurl.'_user.log'; # File, logg user activities my $countfile=$logurl."_count.log"; # Logfile, ie. go_r102.log &log_user($userfile,0); # &log_resource($countfile); ############################## sub log_resource{ ############################## my $string=""; # my $resource=$_[0]; #Ressursnr. my $filnavn=shift; #Ressursnr. #if ($resource eq "") {$resource="000";}; # No rsource if (open(FIL, "<$filnavn")) { $string=; close(FIL); } my $teller=0; if ($string ne "") { #$cmd=~s/\+$//gi; # Remove + in the end $teller=$string; $teller=~s/(\$res[0-9]*=)([0-9]*)(;)/$2/; # Pick out only digits behind = #print ("String=".$teller); #print "Content-type: text/html\n\n"; #print ("Teller=".$teller.'!'); #exit; $teller++; # Increment #print ("Teller=".$teller.'!'); #&skrivmsg("Teller2=".$teller.'!'); #exit; } open(FIL, ">$filnavn") || warn (" "); # >Writ >> Add || die or warn $string='$res'.$resource.'='.$teller.';'; print FIL "$string\n"; # With newline close(FIL); return; } ############################## sub log_user{ ############################## my $filnavn=$_[0]; my $teller=$_[1]; #startverdi hvis ny fil #if (open(FIL, "<$filnavn")) { # $teller=; # close(FIL); #} #$teller++; # Read "alle" the environment variables $document_root=$ENV{'DOCUMENT_ROOT'}; # Root directory of your server. $http_cookie=$ENV{'HTTP_COOKIE'}; # Visitor's cookie (if set). $http_host=$ENV{'HTTP_HOST'}; # Hostname of your server. $https=$ENV{'HTTPS'}; # ON if called through a secure server. $path=$ENV{'PATH'}; # Systems path your server runs under. $query_string=$ENV{'QUERY_STRING'}; # The query data (used with GET). $http_referer=$ENV{'HTTP_REFERER'}; # Ref. path $remote_host=$ENV{'REMOTE_HOST'}; # Hostname of visitor. $remote_port=$ENV{'REMOTE_PORT'}; # Port the visitor is connected to on web server. $remote_user=$ENV{'REMOTE_USER'}; # Visitor's username. $request_method=$ENV{'REQUEST_METHOD'}; # GET or POST $request_uri=$ENV{'REQUEST_URI'}; # Interpreted pathname of requested document. $script_filename=$ENV{'SCRIPT_FILENAME'}; # Full pathname of current CGI page. $script_name=$ENV{'SCRIPT_NAME'}; # Interpreted pathname of current CGI (relative to root). $server_admin=$ENV{'SERVER_ADMIN'}; # Email address for your server's webmaster. $server_name=$ENV{'SERVER_NAME'}; # Your server's domain name. $server_port=$ENV{'SERVER_PORT'}; # Port number your server is listening on. $server_software=$ENV{'SERVER_SOFTWARE'}; # Server software being used (ex. Apache 1.3) #Language codes my $http_lang=$ENV{'HTTP_ACCEPT_LANGUAGE'}; # Language code # = no,en-us;q=0.8,en-gb;q=0.6,sv;q=0.4,de;q=0.2 my $lang=substr($http_lang,0,2); #if (substr($http_lang,0,2) eq "no" ) {$lang="no";} #elsif (substr($http_lang,0,2) eq "se" ) {$lang="no";} #elsif (substr($http_lang,0,2) eq "dk" ) {$lang="no";} #else {$lang="en";} #; if ("$remote_host" ne "80.202.86.146") { # Do not log my own searches from this IP my $string="D:$date T:$time IP:$remote_addr"; if ($remote_host ne $remote_addr) {$string.=' Host:'.$remote_host;}; if ($remote_user ne "") {$string.=' User:'.$remote_user;}; $string.=' L:'.$lang; # Language if ($remote_port ne "") {$string.=' Rport:'.$remote_port;}; if ($server_port ne "80") {$string.=' Sport:'.$server_port;}; if ($server_admin_user ne "") {$string.=' Sadm:'.$server_admin;}; if (($http_referer ne "http://info.no/") && ($http_referer ne "http://www.info.no")&& ($http_referer ne "http://www.info.no/") && (($http_referer ne "") && ($remote_addr ne "80.202.86.146"))) {$string.=' Ref:'.$http_referer;}; if (($server_name ne "www.info.no") && ($server_name ne "info.no")) {$string.=' Snam:'.$server_name;}; if ($request_uri ne "") {$string.=' uri:'.$request_uri;}; if ($script_filename ne "") {$string.=' scrfilname:'.$script_filename;}; if ($script_name ne "/go.pl") {$string.=' scrname:'.$script_name;}; if ($server_software ne "") {$string.=' ssw:'.$server_software;}; $string.=' q:'.$query_string; #$string.=" /n"; # End-of-record string my $open="true"; open(FIL, ">>$filnavn") || warn "error fileaccess"; # >Writ >> Add || die or warn if ($open eq "true") { print FIL "$string\n"; # With newline close(FIL) || warn ""; # Warn or Die } } #return $teller; return; } # sub juster_teller sub date { ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time+$addsecs); @months = ("01","02","03","04","05","06","07","08","09","10","11","12"); @days = ("Sun","Mon","Tue","Wed","Thu","Fri","Sat"); if ($sec < 10) {$sec = "0$sec";} if ($min < 10) {$min = "0$min";} if ($hour < 10) {$hour = "0$hour";} if ($hour > 11) {$ap = "PM";} if ($hour < 12) {$ap = "AM";} if ($mday < 10) {$mday = "0$mday";} $year+=1900; #$date = "@days[$wday] @months[$mon]/$mday/$year"; #$time = "$hour:$min:$sec $ap"; $date = "$year-@months[$mon]-$mday @days[$wday] "; $time = "$hour:$min:$sec"; return; }