ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx-0.7.0



Hello!

On Mon, May 19, 2008 at 06:45:28PM +0400, Anton Ageev wrote:

2008/5/19 Igor Sysoev <is@xxxxxxxxxxxxx>:
Изменения в nginx 0.7.0                                           19.05.2008

   *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
      записываются в виде \xXX.
      Спасибо Максиму Дунину.

А можно сделать настраиваемым список экранируемых символов? Потому что
в поле $http_referer файрволлы часто пихают символ ", и в итоге
строчку лог-файла с форматом
log_format example '[$time_local] ..... "$http_referer"';
становится распарсить очень непросто.

Применить sed 's/\\x22/"/g' - и будут кавычки в девственно чистом виде.

Если кавычки не экранировать - то строку, содержащую более одного строкового параметра из заголовков становится (опять) невозможно распарсить принципиально.

Текущий escape'инг - совместим с тем что делает Apache (хотя и проще - Apache использует \" для кавычек и \\ для обратного слеша, тем самым вынуждая парсер обрабатывать их отдельно). Делать его конфигурируемым имеет смысл только для того чтобы использовать другие символы в качестве ограничителей строковых параметров в логе - однако это IMHO overkill.

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.