CustomLog ディレクティブと少しの sed マジックを組み合わせることで、最終的に access.log に記録される前にパスワードをマスクできます (https://stackoverflow.com/a/9473943/102170 で説明されているように):
これにより、出現するすべての password=secret
が置き換えられます password=[FILTERED]
で /your/path/access.log で :
CustomLog "|/bin/sed -u -E s/'param=[^& \t\n]*'/'param=\[FILTERED\]'/g >> /your/path/access.log" combined
そうは言っても、可能であれば機密データをクエリ文字列に入れないようにするのが最善です.
<ブロック引用>
Apache 2 はデフォルトで、すべてのリクエストのクエリ文字列を含むリクエスト URI 全体をログに記録します。
Apache 2 Web サーバーが機密データ (パスワード、クレジット カード番号など) をログに記録するのを防ぎながら、残りのリクエストをログに記録する簡単な方法は何ですか?
機密情報を URI で QueryString として送信していることを正しく読んでいますか?最初にそうするように、アプリケーションを変更することをお勧めします。
そうすれば、apache を変更する必要はありません。デフォルトではそのようなことはしないからです。
GET と POST の違いを読み、アプリケーションを書き直して、GET パラメーターにパスワードと情報を入れないようにします。