PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VMS Access Log



Parl
23.07.2009, 14:11
Hier mal mein alter neuer Schnippsel. Jeder weiss wie gross eine Access-Logdatei werden kann und wieviel unnötiger Kram meist mit drinsteht. Effektive Auswertung dauert meist ne Ewigkeit darum hab ich einen extra Logfile nur fürs VMS gemacht.

Der Sinn:

Ich hab mit diesem Schnippsel schon mehere User mit Linky erwischt (da ich gesehen hab dass immer der "Banner Sperren"-Link mit angeklickt wurde) sowie auch einige Bettelfaker.

Anzeigebeispiel:


123456 - Testuser - 12.345.678.9 - /intern/startseite - 23.07.2009 - 04:26:45 - Referer: http://www.designerscripte.net


Im einzelnen:

UID: Userid bzw Klammid des Users (Falls nicht eingeloggt wird 0 angezeigt)
Nickname: Der Nickname des Users (Fals nicht eingeloggt wird Gast angezeigt)
IP: Die IP des Users
$_GET['content']: Die Seite, die der User aufgerufen hat
Datum: is klar *g
Referer: Von welcher Seite der User kommt


Zum Einbau:

1.

Erstelle ein neues Textdokument: logfile.txt und lade es ins VMS Hauptverzeichnis hoch. Gib der Datei CHMOD 600. (Damit niemand von aussen darauf zugreifen kann)

2.

öffne die lib/footer.php und füge folgendes ÜBER <?db_close();?> ein:


<?
if ($_SESSION['uid'] > 0) {
$userid = $_SESSION['uid'];
$nic = mysql_fetch_array(db_query("SELECT nickname FROM ".$db_prefix."_userdaten WHERE uid = ".$userid." LIMIT 1"));
$nickname = $nic['nickname'];
} else {
$userid = 0;
$nickname = 'Gast';
}

$dateiinhalt = ''.$userid.' - '.$nickname.' - '.$ip.' - '.$_GET['content'].' - '.date("d.m.Y - H:i:s", time()).' - Referer: '.$_SERVER['HTTP_REFERER'].''."\n";
// Bei Bedarf kann logfile.txt hier auch umbenannt werden
$datei = fopen("logfile.txt","a");
fwrite($datei, $dateiinhalt);
fclose($datei);
?>


Fertig. *g*

Um die Datei nun anzuschauen könnt ihr diese entweder herunterladen oder kurz per chmod die Berechtigung ändern und direkt im Browser aufrufen.


Ein Hinweis noch: Je nach Eurer Useranzahl kann natürlich auch diese Datei enorme Grössen annehmen, bei 20-30 aktiven Usern täglich kommen so etwa 500KB Daten hinzu. Es empfiehlt sich die Logdatei nach Auswertung herunterzuladen (ggf zu archivieren), zu leeren und wieder hochzuladen.


MFG

Gremlin
23.07.2009, 14:20
Der User-Agent wäre noch nice, zudem vllt. noch ein Cron der täglich um 0 Uhr die alten Dateien zippt und die Datei löscht.

jpwfour
23.07.2009, 14:25
Oder man erstellt ein extra Verzeichnis, von das von außen nicht zugegriffen werden kann, und ändert die Zeile:


$datei = fopen("logfile.txt","a"); in:


$datei = fopen("logs/logfile-".date('y-m-d').".txt","a");

In das Verzeichnis dann eine .htaccess mit:


Order deny,allow
Deny from all

Parl
23.07.2009, 14:29
Der User-Agent wäre noch nice, zudem vllt. noch ein Cron der täglich um 0 Uhr die alten Dateien zippt und die Datei löscht.

Hehe ja, den Useragent einzufügen sollte ja kein Problem sein.

Die Idee mit dem Zippen kam mir auch schon aber das würde ja ne eigene Bibliothek erfordern !? und da stosse ich schon an meine Grenzen. *g*

Hatte mir mal die zip Klasse ausm phpMyAdmin gemopst und ausprobiert aber leider fehlt mir in der Hinsicht noch die Erfahrung.

MFG

jpwfour
23.07.2009, 14:34
Würde mich halt drauf verlassen, dass PHP das mitbringt:

http://www.php.net/manual/de/ref.zlib.php

Wer's nicht hat, hat halt Pech gehabt :wink:

Dany
29.07.2009, 00:21
Hi,
feine Sache und wie bekommt man es nun hin das das gestrige Logfile komprimiert wird :redface:

Gruß Dany

tampulin
29.07.2009, 02:39

hankfromhelvete
14.12.2010, 20:34
*auskram* :biggrin1:

Ich hab bei mir seit kurzem immer mal wieder die ID 9999999 bei mir in den Logs. Sieht dann so aus:



9999999 - - ***IP*** - /betteln - 14.12.2010 - 19:20:40 - Referer: http://surfmore.eu/klick4creditsgoto.php?bid=62660&nrl=1&surfsid=d2f02a855691122a81afadad5eef55d4&uid=Grigoriy
9999999 - - ***IP*** - /betteln - 14.12.2010 - 19:20:44 - Referer: http://www.werbemine.de/codes/forcedtextlinkklick.php?id=267&bid=1177&aid=323
9999999 - - ***IP*** - /betteln - 14.12.2010 - 19:20:45 - Referer: http://www.losefriends.de/fc.php?tan=f7ea31a28264a0008eaea22bb503008c



Das waren drei verschiedene IP's. Aber wo kommt die 9999999 her?