ホーム > 詳細
ApacheのログにPHPで認証したユーザーIDを書き込む
ユーザーが何をしたか調べたい。
ApacheのログにユーザーIDを記録する
apacheのログに好きな情報を出す方法(PHP編)にズバリ書いてる。
apacheのログにHTTP認証のユーザ IDを記録する代わりに、PHPで認証したユーザーIDを記録させます。
- アプリケーション側でapache_note関数を使う
- Apacheのログフォーマットを変更する
PHPからApacheにユーザーIDを伝える
<?php //$user_idに認証済みユーザーIDが入っている if($user_id){ apache_note ( 'AuthUserId',$user_id); } ?>
ApacheのログにユーザーIDを加える
Apacheのログフォーマットの「%u」がHTTP認証のユーザ IDです。今回HTTP認証を使わないので、その代わりにPHPから出力した値を「%{AuthUserId}n」で書き込むように指定する。最後の「n」も忘れずに。
//LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined LogFormat "%h %l %{AuthUserId}n %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
認証されていいときは"-"になります。
検索
最近の投稿
作ったもの
写真共有のTWINGAR
CakePHPのまとめノートCakePHP Note
CakePHPのAPIFramework API
About Me
@ZiSTA Tweets
CakePHPとかMacとか

コメント