nginx-0.7.0

Maxim Dounin mdounin at mdounin.ru
Mon May 19 20:11:19 MSD 2008


Hello!

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

>2008/5/19 Igor Sysoev <is at rambler-co.ru>:
>> Изменения в 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





More information about the nginx-ru mailing list