74

パラメータ付きの GET リクエストの形式で、または POST リクエストとして (たとえば、標準の URL エンコードされた & 区切りの POST データを使用して) データを受け取るサイト API があるとします。API 呼び出しをログに記録して分析したい場合、GET 要求は簡単です。それらは apache ログにあるからです。Apache ログにも POST データを取得する簡単な方法はありますか?

(もちろん、アプリケーションで POST データを明示的にログに記録することもできますが、コードで気にしないようにするための構成レベルの方法が必要です。)

4

9 に答える 9

42

Apache のmod_dumpioを使用します。明らかな理由から注意してください。

mod_dumpioは、最初の null 文字でバイナリ ペイロードのログを停止することに注意してください。たとえばmultipart/form-data、gzip されたファイルのアップロードは、おそらく mod_dumpio で最初の数バイトしか表示されません。

また、このモジュールがフォルダーhttpd.confに存在する場合でも、Apache はこのモジュールについて言及しない可能性があることに注意してください。/modules手動で追加LoadModuleするだけで問題なく動作します。

于 2010-02-08T04:33:26.963 に答える
13

返事が遅くなりましたが。このモジュールでできること: https://github.com/danghvu/mod_dumpost

于 2012-12-09T11:10:08.213 に答える
9

正確な答えではありませんが、Apache自体でこれを行う方法について聞いたことがありません。拡張モジュールで可能かもしれないと思いますが、書かれているかどうかはわかりません。

1つの懸念は、POSTデータがかなり大きくなる可能性があることです。ログに記録される量になんらかの制限を設けないと、しばらくするとディスク容量が不足する可能性があります。これは、ハッカーがサーバーを台無しにする可能性のあるルートです。

于 2009-06-13T05:12:05.670 に答える
2

実際、アプリケーションでそれを行います。もちろん、ロガーシステムによっては、実行時に構成可能です。たとえば、Apache Log(log4j / cxx)を使用する場合、そのようなURL専用のロガーを構成し、実行時にXMLファイルから構成することができます。

于 2009-06-13T04:22:38.363 に答える