Como posso registrar informações sobre cookies?

11

Eu gostaria de adicionar informações de cookies aos meus logs de acesso do Apache, por exemplo: email, nome de usuário (o cookie é criado pelo arquivo php, não pelo Apache).

Posso adicionar algo ao arquivo log.conf semelhante a: \"%{cookieName}i\" to

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

Se isso não funcionar, eu uso o log de cookies e os combino com o log de acesso e como?

    
por Der Hochstapler 19.06.2009 / 10:33

2 respostas

21

Existem três maneiras de inserir cookies nos registros do Apache:

%{cookiename}C
Isso corresponderá ao cookie nomeado enviado na solicitação pelo navegador, mas não a qualquer outro cookie.

%{Cookie}i
Isso registrará o cabeçalho Cookie: inteiro enviado para o servidor na solicitação. Isso pode ser bastante extenso se muitos cookies forem definidos ou se algum dos cookies tiver muitos dados.

%{Set-Cookie}o
Isso corresponderá a todo o cabeçalho Set-Cookie: enviado pelo servidor na resposta.

Observe que "cookiename" deve ser substituído pelo nome do cookie que você deseja registrar, enquanto os outros dois métodos devem ser colocados em sua diretiva CustomLog exatamente como estão escritos. Esses dois são cabeçalhos correspondentes na solicitação e na resposta, respectivamente. Eles podem ser usados para corresponder a qualquer cabeçalho, não apenas aos cabeçalhos de cookies.

    
por 30.08.2011 / 11:38
6

tente isso na sua configuração de vhost:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"" with_cookies
CustomLog /var/log/apache2/my-access.log with_cookies

funcionou para mim; saída em my-access.log:

83.0.11.22 - - [02/Aug/2009:12:31:30 +0200] "GET /ct/ HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1" "c1=1; c2=2; PHPSESSID=6c4513f22852a235b8988da822f89d04"
    
por 02.08.2009 / 12:32

Tags