phpbar.de logo

Mailinglisten-Archive

Re[2]: Sessions/Visits aus Webserver-Log per mySQL ermitteln

Re[2]: Sessions/Visits aus Webserver-Log per mySQL ermitteln

Christian Eichert mysql_(at)_lists.phpcenter.de
Sat, 5 May 2001 23:49:41 +0200


So sprach Bruno Dickhoff 5. Mai 2001 17:17


>Rein aus der IP-Adresse und dem zeitlichen Zusammenhang kannst Du m.E.
>eine Session leider nicht zuverlässig bestimmen, da of Nutzer, die
>über Proxy-Server kommen, unter derselben IP auftauchen, und aufgrund
>der dynamischen IP-Vergabe durch die Provider die Wahrscheinlichkeit
>zu gross ist, dass mehrere Nutzer innerhalb kurzer Zeit unter der gleichen IP
surfen.

Mit solchen Sachen habe ich mich auch schon gespielt.
Z.B auf http://www.lenauschule.de/index.php3?menu=counternou


>Oft macht man das schlicht mittels einfacher Session-Cookies, es
>reichen speicherresidente Cookies, die nur eine Session-Lebensdauer
>haben, nicht persistent gespeichert werden müssen.

Ich kann sagen ca. 30% haben die Cookies ausgeschaltet.

>Eine weitere, mittlerweile beliebtere Möglichkeit ist das
>URL-rewriting. Hier wird dann kein Cookie angelegt (manche User mögen
>ja auch keine Cookies), sondern die Session-ID wird beim ersten
>Zugriff erzeugt (z.B. als Zufallszahl) und als zusätzlicher
>Parameter bei den weiteren Requests übergeben (erkennst Du oft an
>URL's wie
>"http://www.einesite.de/kaufen.html?sessid=198u32491234972314980" oder
>so ähnlich. Auch hier kann man dann leicht die Zuordnung des Requests
>zur gerade laufenden Session vornehmen.

Das ist auch richtig und es geht wenn mann geschickt ist und die variable schön
immer mitschleppt. Die Geschichte endet jedoch auf der Seite. Wenn der User
einen fremden Link clickt und danach "heim" kommt erkennst Du Ihn nicht mehr.

Eine weitere (aber etwas feige) Methode ist die fremden Links eigentlich in
einer eigenen Seite mit require anzuzeigen und im eigenen Header eine option
base target zu bringen die allen links ein
http://www.deineseite.de_(at)_www.fremdeseit.de maskiert. Dein PHP kann dann den teil
mit deiner seite strippen und die Links tuen alle das richtige. Der besucher
surft dann eigentlich deine seite und du kannst die variablen so gestalten wie
du willst.

Was ich aber am besten und fairsten halte ist alle links in FORM's einzubinden
und als HIDDEN zu verfrachten.

oder Du benutzt eine Kombination von allem. Erstmal ein Cookie um zu sehen ob
die "Brösel" eingeschalten sind, und danach die Entscheidung. Wenn nein bekommt
er halt die ganze Ladung URL-rewriting und HIDDEN variablen.

Viel Spass beim Loggen ;-P
Christian Eichert




RF> Am Sam, 05 Mai 2001 schrieb Michael Bergbauer:
>> > Ich habe die Logfiles meines Apache mit einem Perlscript zerlegt und in
>> > eine mySQL-Tabelle "logdata" mit den folgenden Spalten importiert:
>> >
>> > ID
>> > client
>> > zeit
>> > methode
>> > url
>> > protokoll
>> > status
>> > bytes
>> > agent
>> > referer
>> >
>> > Somit kann ich prima nach allem möglichen abfragen. Was ich aber irgendwie
>> > nicht hinbekomme, ist eine Abfrage nach Sessions bzw. Visits. Eine Session
>> > beginnt ja mit dem Auftreten einer client-IP-Adresse, die seit einer
>> > festgelegten Zeit (z.B. 30min) vorher nicht auftrat. Das Ende der Session
>> > ist das letzte Auftreten dieser IP für die festgelegte Zeit.


---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql


---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive