Von selfPHP wird ein Counter als Freeware angeboten.
Ich habe ihn versteckt in der noch im lokalen Netzwerk befindlichen Seite eingebaut und er funktioniert einfach geradeaus. 
Die Funktionen sind absolut ausreichend und sogar die Unterdrückung gleicher IP`s auf einen bestimmten Zeitraum hinweg wurde 
unterdrückt (das bieten manche durch Werbung finanzierte Counter aus dem Netz nicht unbedingt ;-) )
Du mußt allerdings einen eigenen Webserver einrichten, um den Counter das erste mal auszuführen damit er die entsprechenden 
Log-Dateien erstellt..
Den Quelltext ansich habe ich später noch in eine hübsche verschachtelte Tabelle eingebaut in der Optik der von mri 
erstellten Webseite (damit der Chef was feines zu gucken hat ;-) )
so, nun der Quelltext:
<?php
 // wie lange gilt wird eine ip nicht als neuer besucher gewertet (in minuten)
 $t_counter=120;
 // wie lange gilt besucher als online (in minuten)
 $t_user_online=5;
 // pfad zum besucherzaehler
 $p_counter='counter.log';
 // pfad zur datei, die maximale zahl gleichzeitiger nutzer speichert
 $p_counter_max='counter_max.log';
 // pfad zur datei, die die ips des besucherzaehlers speichert
 $p_ips_counter='ips_counter.log';
 // pfad zur datei, die die ips der aktuell auf der seite befindlichen user speichert
 $p_ips_user_online='ips_user_online.log';
 nicht vorhandene dateien erstellen
 wenn dateien vorhanden sind und skript einwandfrei laeuft, dann diese zeilen auskommentieren (// davor)
 if (!file_exists($p_counter))
 { $fh=fopen($p_counter, 'w'); fwrite($fh, "0"); fclose($fh); }
 if (!file_exists($p_counter_max))
 { $fh=fopen($p_counter_max, 'w'); fwrite($fh, time().'#0'); fclose($fh); }
 if (!file_exists($p_ips_counter))
 { $fh=fopen($p_ips_counter, 'w'); fclose($fh); }
 if (!file_exists($p_ips_user_online))
 { $fh=fopen($p_ips_user_online, 'w'); fclose($fh); }
 // daten einlesen
 $temp=file($p_counter); $counter=$temp[0];
 $temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
 $ips_counter=file($p_ips_counter);
 $ips_user_online=file($p_ips_user_online);
 $ip=$_SERVER['REMOTE_ADDR'];
 // user online - noch gueltige ips raussuchen
 $i=0; $j=0; $ip_exists=0;
 while ($i < count($ips_user_online))
  {
   $temp=explode('#', trim($ips_user_online[$i]));
   if (time() < $temp[0]+$t_user_online*60)
    {
     $ips[$j]=$ips_user_online[$i]; $j++;
     // wenn ip des aktuellen besuchers gefunden, dann vermerken
     if ($temp[1]==$ip) { $ip_exists=1; }
    }
   $i++;
  }
 // wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
 if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
  { $ips[$i]=time().'#'.$ip; }
 // anzahl felder von $ips entspricht anzahl der user online
 $user_online=count($ips);
 // wenn aktuelle zahl besucher groesser als letztes maximum, dann ueberschreiben und neu einlesen
 if ($user_online>$counter_max[1])
  {
   $fh=fopen($p_counter_max, 'w');
    fwrite($fh, time().'#'.$user_online);
   fclose($fh);
   $temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
  }
 // die ips speichern
 $fh=fopen($p_ips_user_online, 'w');
  fwrite($fh, join("\n", $ips));
 fclose($fh);
 // besucherzaehler - noch gueltige ips raussuchen
 $i=0; $j=0; $ip_exists=0;
 while ($i < count($ips_counter))
  {
   $temp=explode('#', trim($ips_counter[$i]));
   if (time() < $temp[0]+$t_counter*60)
    {
     $ips[$j]=$ips_counter[$i]; $j++;
     // wenn ip des aktuellen besuchers gefunden, dann vermerken
     if ($temp[1]==$ip) { $ip_exists=1; }
    }
   $i++;
  }
 // wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
 if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
  {
   $ips[$i]=time().'#'.$ip;
   $counter++;
   $fh=fopen($p_counter, 'w');
    fwrite($fh, $counter);
   fclose($fh);
  }
 // die ips speichern
 $fh=fopen($p_ips_counter, 'w');
  fwrite($fh, join("\n", $ips));
 fclose($fh);
 // ausgabe der besucherdaten
echo '
Counterstatistik '
;echo ' Anzahl Besucher insgesamt seit dem 03.11.2003: '
;  echo ''.$counter.' <br>';echo ' Anzahl momentaner Besucher: ';  echo ''.$user_online.'<br>';echo ' maximale Besucheranzahl 
am '.date("d.m.Y", $counter_max[0]).':'; echo ' '.$counter_max[1].' <br>';
echo '<br><p align="center">IP-Adressen aller Besucher anzeigen: <a href="ips_counter.log" ><font color="#808080">Hier 
klicken</font></a> <br> IP-Adressen aller auf dieser Seite befindlichen Benutzer anzeigen: <a href="ips_user_online.log" 
><font color="#808080">Hier klicken</font></a> </td>';             
echo '
';?>
Die Ausgabe mußt du dir selbst hübsch zurecht machen ;-)
Achja, nach dem ersten Druchlauf mußt du wie im Quelltext angegeben die Stellen die die LOG-Files erstellen auskommentieren!
Zu guter Letzt: der Ersteller von selfPHP stellt den Quelltext für umsonst zur Verfügung, möchte aber, dass wenn dieser weiter gegeben wird im originalzustand weitergeleitet wird. Tjoa, das ist er jetzt auch bis auf 1-2 <br>-Tags in der Ausgabe ;-)
con\con