可以在 Apache 2.2 中记录 POST / GET 参数

可以在 Apache 2.2 中记录 POST / GET 参数

是否可以以某种方式调整 Apache 配置来记录 POST / GET 参数?

例如,这是它当前记录的内容:

174.131.xx.xxx - - [30/Apr/2013:08:41:59 -0500] "POST /admin/bl_orderItem.php HTTP/1.1" 200 44

我希望实现在日志中看到这样的效果:

174.131.xx.xxx - - [30/Apr/2013:08:41:59 -0500] "POST /admin/bl_orderItem.php?name=John&lastName=Rambo&zip=12331 HTTP/1.1" 200 44

感谢您的所有建议。

答案1

在自定义日志格式中,%r(请求的第一行)将包含 GET 参数。对于 GET 参数,请使用 %q(查询字符串(如果查询字符串存在,则前面加上 ?,否则为空字符串))。

http://httpd.apache.org/docs/2.4/mod/mod_log_config.html#formats

对于发布数据,您必须使用 mod_dumpio。

http://httpd.apache.org/docs/2.4/mod/mod_dumpio.html

答案2

您可能还想查看 mod_security 模块来执行此操作。它非常擅长记录所有参数(输入和输出)。

答案3

你可以使用 php:

https://stackoverflow.com/questions/3718307/php-script-to-log-the-raw-data-of-post

<?php
file_put_contents("post.log",print_r($_POST,true));
?>

相关内容