The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Грепнуть лог апача (русское имя файла на сайте)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от 027 email on 24-Авг-10, 18:04 
Встала такая задача.
Имеется веб-сервер в вузе (Apache 2.0 Win32). Логгирование настроено ректально. Лог http access весит аж 7 гигабайт.
Нужно откопать в нем запросы на скачивание определенного файла, именованного русскими символами. Дело серьезное, родители неудачливого абитуриента катят бочку на вуз, якобы не был вовремя опубликован этот документ (а это обязательно по закону).
Файл поименован по-русски. Апач такие файлы спокойно отдает, но в логе запросов имя файла кодировано. Типа: я─я┐я│я│п╨п╬п╣ п╦п╪я▐ я└п╟п╧п╩п╟.pdf

Вопрос.
Кто кодирует имя, которое появляется в логе апача? Только браузер, или апач перекодирует по-своему? Есть опасение, что браузеры могут кодировать по-разному. Варианты:
- кодировать все,
- кодировать все, кроме ascii (я в логе такое видел),
- сначала перегнать в utf-8 (у оперы есть такая опция в настройках), а потом кодировать полученные байты,
- и в этом случае два варианта - кодировать askii или нет.

Задачу можно еще так сформулировать. Нужно надежно найти в логе первое обращение к серверу на скачивание этого файла. Файл обновлялся, и время его публикации на сервере гораздо позднее положенного срока.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от 027 email on 24-Авг-10, 18:08 
Движок форума испохабил пример имени файла. В предпросмотре этого не было видно. Имелось в виду кодирование по принципу - символ передается кодом:
[символ процента][шестнадцатиричное представление байта]

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от Pahanivo (ok) on 24-Авг-10, 19:28 
>Движок форума испохабил пример имени файла. В предпросмотре этого не было видно.
>Имелось в виду кодирование по принципу - символ передается кодом:
>[символ процента][шестнадцатиричное представление байта]

а что если
tail -f http.log | grep you.ip.add.res > some.log
в браузере запрашиваем данный фаил
в some.log смотрим нужную строку для поика - и не надо ниче кодить ....

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от 027 email on 24-Авг-10, 21:13 
>а что если
> ... grep you.ip.add.res > some.log

Я об этом думал. Айпи публикатора будет точно, скрипт публикации после отправки по POST выдает в "админке" список реально залитых файлов. Но с этого компа тыкают в сайт который год. Лог буквально усыпан этим айпишником.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от Pahanivo (ok) on 25-Авг-10, 07:35 
>>а что если
>> ... grep you.ip.add.res > some.log
>
>Я об этом думал. Айпи публикатора будет точно, скрипт публикации после отправки
>по POST выдает в "админке" список реально залитых файлов. Но с
>этого компа тыкают в сайт который год. Лог буквально усыпан этим
>айпишником.

стоп стоп стоп
тебе лог публикации надо шоле?
а не проще просто дату файла глянуть? ))
я то думал тебе лог запросов ...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от Nimdar (ok) on 25-Авг-10, 12:23 
>[оверквотинг удален]
>>
>>Я об этом думал. Айпи публикатора будет точно, скрипт публикации после отправки
>>по POST выдает в "админке" список реально залитых файлов. Но с
>>этого компа тыкают в сайт который год. Лог буквально усыпан этим
>>айпишником.
>
>стоп стоп стоп
>тебе лог публикации надо шоле?
>а не проще просто дату файла глянуть? ))
>я то думал тебе лог запросов ...

Дата публикации и дата файла несколько разные вещи, не? :) Файл могли залить
на сервак, но не опубликовывать на сайте.
Тем более и автор об этом утверждает в заглавном посте.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от Pahanivo (ok) on 25-Авг-10, 13:52 
>Дата публикации и дата файла несколько разные вещи, не? :) Файл могли

да разные - автор не указал что имеено ему нужно
по дате файла мохно судить о его физическом появлении на серваке - но это бред ибо легко подделать
опять же по запросам тоже достоверно судить нельзя - по темже причинам что вами указаны (публикация это фактически создание урла - что совершенно другая весчь)
имхо самое достоверное это предъявить логи на СКАЧИВАНИЕ.
по крайней мере можно точно сказать что с даты первого скачивания файл был доступен - собстна об этом я говорил
>залить
>на сервак, но не опубликовывать на сайте.
>Тем более и автор об этом утверждает в заглавном посте.

автор ничего не утверждает

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от Nimdar (ok) on 25-Авг-10, 12:22 
>[оверквотинг удален]
>- кодировать все,
>- кодировать все, кроме ascii (я в логе такое видел),
>- сначала перегнать в utf-8 (у оперы есть такая опция в настройках),
>а потом кодировать полученные байты,
>- и в этом случае два варианта - кодировать askii или нет.
>
>
>Задачу можно еще так сформулировать. Нужно надежно найти в логе первое обращение
>к серверу на скачивание этого файла. Файл обновлялся, и время его
>публикации на сервере гораздо позднее положенного срока.

Например, grep путь_к_файлу
Если все документы лежат в одном каталоге, то, ясное дело, так не получиццо.
Тогда вариант 2.
grep размер_файла_в_байтах access.log

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Грепнуть лог апача (русское имя файла на сайте)"  +/
Сообщение от 027 on 25-Авг-10, 12:44 
Ни размер, ни дата файла в моем случае не помогут. Документ дополнялся и перезаливался несколько раз.

Решил задачу таким образом.
grep "path/to/docs" access.log > docs_access.log
В полученном файле заменил все "GET " на "<a href=" , а также все ".pdf" на ".pdf>11111</a>".
И стал смотреть эти ссылки огнелисом. Он в статусной строке показывает адрес по-русски.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру