ApacheでCookieをログに出力する設定と、%{cookie}nと%{set-cookie}nの違い




投稿日:

Apacheでは「usertrack_module」があれば、cookieをログに出力することが出来ます。今回はその設定をしてみます。

【モジュールの確認】

[html]$ /usr/local/apache2/bin/httpd -M
usertrack_module (shared)[/html]

このモジュールが出てこればOK。出てこなければ、有効化(パッケージの場合)かモジュールの追加(ソースの場合)をします。



【httpd.confのバックアップ】

[html]# cp -rp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.2014061902 [/html]



【設定】

[html]# vi httpd.conf

この2行追加で、cookie追跡有効になります。
CookieTracking on
CookieExpires "7 days"
※ 今回は7日で設定。

ログフォーマットに、cookie追加バージョン追加し、ニックネームもつける。今回は分かりやすく「cookie」にしています。
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D \"%{cookie}n\"" cookie

カスタムログにニックネーム「cookie」を指定する。
CustomLog "logs/access_log" cookie

[/html]



【設定ファイルの読み込み】

[html]# /etc/init.d/httpd graceful[/html]

これでクッキーがログに出力されます。



■ 応用

ちなみに、出力されるCookieにも種類があります。
なお、ここを参考にしました。
新人Webアナリスト必読! 生ログ解析で失敗しないための12のチェックリスト at Nexal の一期一会

【Apache側での出力方法】

クライアントサイドで発行のcookieを残す場合

[html]
%{cookie}n ~ mod_usertrackが内部的に出力するもので、リクエスト/レスポンスとは無関係に出力されます。
%{cookie}i ~ リクエストヘッダのCookieを出力します。
%{cookie}o ~ レスポンスヘッダのCookieを出力します。
[/html]

サーバサイドで発行のcookieを残す場合 上記と同様に、n、i、oが選べます。

[html]
%{set-cookie}n ~ mod_usertrackが内部的に出力するもので、リクエスト/レスポンスとは無関係に出力されます。
%{set-cookie}i ~ リクエストヘッダのCookieを出力します。
%{set-cookie}o ~ レスポンスヘッダのCookieを出力します。
[/html]

今度、cookieについても深く調べてみないと。







コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください