Мне нужно исключить некоторые важные детали в моем журнале apache, но я хочу сохранить в нем журнал и URI. Можно ли добиться следующего в моем журнале доступа:
127.0.0.1 - - [27/Feb/2012:13:18:12 +0100] "GET /api.php?param=secret HTTP/1.1" 200 7600 "http://localhost/api.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
Я хочу заменить «секрет» на «[ФИЛЬТРИРОВАНОЕ]» следующим образом:
127.0.0.1 - - [27/Feb/2012:13:18:12 +0100] "GET /api.php?param=[FILTERED] HTTP/1.1" 200 7600 "http://localhost/api.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
Я знаю, что, вероятно, следовало использовать POST для отправки этой переменной, но повреждение уже сделано. Я посмотрел на http://httpd.apache.org/docs/2.4/logs.html и LogFormat, но не смог найти никаких возможностей использовать регулярное выражение или подобное. Есть предложения?
1011 ** [править] ** 1013
НЕ отправляйте конфиденциальные переменные в качестве параметров GET, если у вас есть возможность выбора.