PHP Response headers + body logger

PCnity

  • *****
  • 689
    • Zobrazit profil
    • E-mail
PHP Response headers + body logger
« kdy: 14. 05. 2013, 16:58:26 »
Hello,

Aktualne sa neviem pohnut dalej ohladne jedneho problemu s NGiNX a PHP (CGI). Potrebujem (legalne dovody) komplet logovat vstupujuci request - body aj headre a toto nie je problem dosiahnut.
Mozem priamo v NGiNX cez custom log logovat cele request body, ale podstatne jednoduchsie je priamo na zaciatku skriptu dumpnut cely request priamo cez funckie v PHP.

Mam vsak problem s logovanim responsu. PHP skript pouziva 3rd party modul ktory sa len instacuje a na zaklade vstupu posle nejaky output. Ten output je bud nejaky response 200 OK a nejaky text alebo response 500 a nejaky error. Ja potrebujem KOMPLET cely response vratane headrov a body dumpnut na filesystem ako log.

NGiNX + Lua modul mi celkom jednoducho umoznuje dumpnut response body do NGiNX logu, ale nie headre.

Dany 3rd party modul predpokladam ze pouziva die(), nakolko aj ked pred nim zapnem ob_start a pod tym ob_flush do premennej, tam sa ani nedostane. Dalo by sa nieco take dosiahnut cez CGI wrapper? Alebo ma niekto nejaky napad ako to spravit?
Dakujem.


RDa

  • *****
  • 2 618
    • Zobrazit profil
    • E-mail
Re:PHP Response headers + body logger
« Odpověď #1 kdy: 15. 05. 2013, 07:27:22 »
Pres CGI by to melo jit (predava se "RAW" response.. headers+body). Ale jelikoz to obnasi rekonfiguraci serveru, bylo by omnoho jednodussi udelat aplikacni proxy, ktere preda puvodni dotaz tam kam je potreba a pozadavek/vysledek zaloguje. U tohoto reseni je problem, ze nejde podvrhnout IP pozadujiciho, leda tak pridat x-forwarded-for jako to proxiny delaji. Nekterym aplikacim to neva, ale nekterym muze..