Webformular-Tracking mit ASP.NET

Die mit IIS aufgezeichneten Log-Dateien können eine vielfältige Verwendung finden, z. B. zur Analyse von Sicherheit, Performance und Serverlast durch Systemadministratoren oder zur Analyse des Surfverhaltens der Besucher durch die Marketing-Abteilung. Allerdings erfordert die Aufbereitung dieser Log-Informationen für Web-Kunden einigen Aufwand von Seiten des Entwicklers. Kürzlich wollte ein Kunde, dass die Besucher seiner Website die Benutzerstatistik in Echtzeit angezeigt bekommen. Unsere Lösung bestand aus einem Code, mit dem jedes ASP.NET-Webformular jede Anfrage in einer Datenbank loggt. Hier die Gründe für diese Entscheidung und die Details der Lösung.

Einrichten der Logging-Funktion

Bei der Konfiguration von IIS kann man festlegen, welche Informationen geloggt werden sollen. Je mehr Daten man aufzeichnet, desto mehr Speicherplatz wird natürlich auf der Festplatte belegt, weshalb man nur solche Daten aufzeichnen sollte, die man später auch verwendet.
Die Tabelle auf Seite 2 ist eine vollständige Übersicht über alle Daten, die man loggen kann (ein Auszug aus der Microsoft IIS Dokumentation). Wie man sieht, gibt es eine schwindelerregende Menge an Daten, die jede Server-Transaktion erzeugen kann, aber das meiste ist nur von geringem Nutzen (und oft auch unverständlich) für die Endbenutzer. Üblicherweise wird ein Nichttechniker nur Datum, Uhrzeit, Dateigröße, Anmeldenamen und evtl. noch die IP-Adresse oder den Referrer wissen wollen oder müssen.

Feld Erscheint als Beschreibung
Date Date Das Datum, an dem die Aktivität stattfand.
Time Time Die Uhrzeit, zu der die Aktivität stattfand.
Client IP Address c-ip Die IP-Adresse des Clients, der auf den Server zugegriffen hat.
User Name cs-username Der Name des angemeldeten Benutzers, der auf den Server zugegriffen hat. Hierzu zählen keine anonymen Benutzer, die durch einen Bindestrich (-) dargestellt werden.
Service Name s-sitename Der Internet-Service und die Instanznummer, auf die von einem Client zugegriffen wurde.
Server Name s-computername Der Name des Servers, auf dem der Log-Eintrag erzeugt wurde.
Server IP Address s-ip Die IP-Adresse des Servers, auf dem der Log-Eintrag erzeugt wurde.
Server Port s-port Die Port-Nummer, mit dem der Client verbunden ist.
Method cs-method Die Aktion, die der Client auszuführen versucht hat (z. B. eine GET-Methode).
URI Stem cs-uri-stem Die Ressource, auf die zugegriffen wurde (z. B. Default.asp).
URI Query cs-uri-query Die Query, die ein Client auszuführen versucht hat (falls vorhanden).
Protocol Status sc-status Der Status der Aktion in HTTP- oder FTP-Begriffen.
Win32 Status sc-win32-status Der Status der Aktion in Microsoft Windows-Begriffen.
Bytes Sent sc-bytes Die Anzahl der vom Server verschickten Bytes.
Bytes Received cs-bytes Die Anzahl der vom Sender empfangenen Bytes.
Time Taken time-taken Die Zeitspanne (in Millisekunden), die die Aktion gedauert hat.
Protocol Version cs-version Die vom Client verwendete Protokoll-Version (HTTP, FTP). Für HTTP ist dies entweder HTTP 1.0 oder HTTP 1.1.
Host cs-host Zeigt den Inhalt des Host-Headers an.
User Agent cs(User-Agent) Der vom Client verwendete Browser.
Cookie cs(Cookie) Der Inhalt eines ggf. gesendeten oder empfangenen Cookies.
Referrer cs(Referer) Die vorherige vom Benutzer besuchte Webseite. Diese Seite enthielt einen Link auf die aktuelle Seite.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Neue Backdoor: Bedrohung durch Malvertising-Kampagne mit MadMxShell

Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.

1 Tag ago

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

2 Tagen ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

2 Tagen ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

2 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

2 Tagen ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

2 Tagen ago