是否可以以某种方式调整 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。
答案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));
?>