
Ist es möglich, die Apache-Konfiguration irgendwie anzupassen, um POST-/GET-Parameter zu protokollieren?
Dies ist beispielsweise das, was derzeit protokolliert wird:
174.131.xx.xxx - - [30/Apr/2013:08:41:59 -0500] "POST /admin/bl_orderItem.php HTTP/1.1" 200 44
Ich möchte, dass so etwas in den Protokollen angezeigt wird:
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
Danke für alle Vorschläge.
Antwort1
In einem benutzerdefinierten Protokollformat enthält %r (erste Zeile der Anfrage) die GET-Parameter. Verwenden Sie für nur die GET-Parameter %q (Abfragezeichenfolge (vorangestellt mit einem ?, wenn eine Abfragezeichenfolge vorhanden ist, andernfalls eine leere Zeichenfolge)).
Sehenhttp://httpd.apache.org/docs/2.4/mod/mod_log_config.html#formats
Für die Postdaten müssen Sie mod_dumpio verwenden.
Antwort2
Sie können sich hierzu auch das Modul mod_security ansehen. Es ist wirklich großartig darin, alle Parameter (ein- und ausgehend) zu protokollieren.
Antwort3
Sie können PHP verwenden:
https://stackoverflow.com/questions/3718307/php-script-to-log-the-raw-data-of-post
<?php
file_put_contents("post.log",print_r($_POST,true));
?>