mod_log_config SID oder PHP-Variabel loggen

Alles, was den Apache betrifft, kann hier besprochen werden.

mod_log_config SID oder PHP-Variabel loggen

Postby deleted » 28. October 2008 11:13

Hallo,

ich hab mal ein Problem für das ich weder in der apache-doc noch hier im Forum eine Lösung gefunden habe.

Ich möchte gern in meinen apache(2) logfiles die Session-ID mitloggen. Das extrahieren der im Query-String befindlichen Session-ID ist zu unzuverlässig, da wir sowohl cookies als auch angehänget Session-ID's verwenden. Alternativ würde mir auch auch helfen eine PHP-Variable zu loggen, da ist ja die Session-Id auch verfügbar.

%{SID}x im mod_log_config tut es leider nicht, da müsste wohl das PHP-Modul das als Variable dem Apache bereitstellen (ähnlich wie beim SSL)?

Hat jemand eine Idee?

vg jens
deleted
 

Postby Wiedmann » 28. October 2008 13:20

da wir sowohl cookies

Wenn überhaupt dann damit:
http://httpd.apache.org/docs/2.2/mod/mo ... ml#formats
Code: Select all
%{Foobar}C     The contents of cookie Foobar in the request sent to the server.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby deleted » 28. October 2008 19:35

Danke, das versuch ich mal. Dann müsste man die bei denen die SID nicht im Query steht dann die SID im Cookielog finden.

Hat jemand einen Hinweis waa %{foobar}n macht? Notes from other modules. Mehr steht da nicht. Evtl. lässt sich mod_php zu einer Notiz überreden? aber dazu finde ich keine Anhalstpunkte.

nochmals danke,

jens
deleted
 

Postby deleted » 29. October 2008 23:56

so richtig komm ich nicht weiter.

1. %{}C funktioniert nicht, ist immer '-'

2. selbst wenn es funktioniert hilft es nicht. Es sollen auch die abrufe z.B. von .jpg mit geloggt werden. Da wird aber weder Query noch Cookie übertragen

Insbesonder bei 2. ergibt sich dann eben die Frage, ob der Apache überhaupt die Abrufe z.B. der Bilder tatsächlich einer Session zuordnen kann?

Sinn der ganze Übung wäre, das Logfile zu anonymisieren aber trotzdem bestimmte Analysen für die Website erstellen zu können. Gibt es dafür evtl. noch einen anderen Ansatz den Besuchern im Logfile eine eindeutige Kennung zu verpassen?

Alleine aus der IP will ich diese nicht bilden, da einerseits bei proxys zugriffe von verschiedenen IP's für eine Session kommen, anderseits hinter einer IP mehrere Nutzer stehen können.

vg jens
deleted
 

Postby Wiedmann » 30. October 2008 00:44

1. %{}C funktioniert nicht, ist immer '-'

Du musst beim "%{foobar}n" schon das entsprechende "foobar" angeben, und nicht leer lassen. (Ansonsten tut das hier bei mir wie es soll)

Da wird aber weder Query noch Cookie übertragen
...
ob der Apache überhaupt die Abrufe z.B. der Bilder tatsächlich einer Session zuordnen kann?

Den Apache interessieren normal so oder so keine Sessions, bzw. ordet die irgendwas zu).
Allerdings schicken die Browser natürlich für alles das Session-Cookie mit, sobald für diesen Host/Pfad eines gesetzt wurde. Also auch bei Bildern.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby deleted » 30. October 2008 09:24

"%{foobar}n" schon das entsprechende "foobar" angeben, und nicht leer lassen.


das foobar hab ich hier der Bequemlichkeit halber weggelassen (nun schreibt nicht in der nächsten Antwort das da statt foobar der Cookiename rein soll).

Allerdings hab ich für das Cookie %{foobar}C und nicht n genommen. Fragst du mit 'n' die Cookies ab oder Variablen z.B. vom PHP? Da würde mich dann doch mal ein konkreter Beispielstring %{foofbar}n interessieren.

Den Apache interessieren normal so oder so keine Sessions, bzw. ordet die irgendwas zu).

seh ich auch so

Allerdings schicken die Browser natürlich für alles das Session-Cookie mit, sobald für diesen Host/Pfad eines gesetzt wurde. Also auch bei Bildern.

ja, aber bei den usern, die ihre Session-ID per angehängten Query-String bekommen, bei denen fehlt diese Angabe im Log dann bei den Bildern doch.

danke,

jens
deleted
 

Postby deleted » 30. October 2008 10:04

%{foobar}C funktioniert nun, es bleibt das Problem, das bei Usern ohne Cookies in den Log-Einträgen zu den jpg die SID nicht mit geloggt wird. Aber die kann der Apache dann wohl wirklich nicht kennen,

vg jens
deleted
 

Postby glitzi85 » 30. October 2008 15:00

jensjk wrote:%{foobar}C funktioniert nun, es bleibt das Problem, das bei Usern ohne Cookies in den Log-Einträgen zu den jpg die SID nicht mit geloggt wird. Aber die kann der Apache dann wohl wirklich nicht kennen

Code: Select all
<img src="/path/to/image.jpg?sid=SESSION_ID" alt="" />


Entweder du entfernst dann mit mod_rewrite die SID aus der Anfrage (keine Ahnung wie sich das dann auf deine Logs auswirkt) oder du lässt die Bilder per PHP ausliefern.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby deleted » 30. October 2008 16:19

danke. An so etwas hab ich auch schon gedacht, aber es verworfen weil es einfach zu aufwändig ist. Vieles wird nicht per php ausgegeben sondern reines HTML, dazu sind es noch verschiedene vhosts, ...

ich werd damit leben. die Bilder werden dann halt nur mit der IP in den Indentcode eingerechnet, mal sehen ob mir da was einfällt.

danke für die Hilfe,

jens
deleted
 


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests