страница заблокирована - почему?
|
|
galkin24 | Дата: Суббота, 17.03.2012, 22:35 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Хотелось бы знать простой способ, как узнать почему именно страница заблокирована. ( пока приходится смотреть лог DG. только не при любой кодировке удаётся прочитать , иногда просто ...+..+..... а это порой важно.
|
|
| |
Vito | Дата: Суббота, 17.03.2012, 23:06 | Сообщение # 2 |
Подполковник
Группа: Администраторы
Сообщений: 131
Статус: Offline
| Такое происходит по причине другой кодировки строки в логе. По-умолчанию локаль консоли UTF-8, а в лог пишутся строки в самых разных кодировках, русских целых три кодировки: UTF-8, она показывается сразу, WINDOWS-1251, KOI-8R они показываются кракозябрами. Остальные кодировки китайские, японские и пр. тоже будут кракозябрами. Рекомендую вам отключить списки на китайском и японском, поскольку большинство проблем с ошибочной блокировкой связано с этими списками. Частично проблема решена в веб-интерфейсе на основе одного скрипта, написанного мной уже давно. Смысл работы очень простой в списках в самом начале прописывается строка #listcategory: "rus_porno_KOI8-R" #listcategory: "rus_porno_UTF-8" #listcategory: "rus_porno_WIN-1251" соответственно кодировке этого файла и категории списка Так как сайты обычно в одной кодировке, то при срабатывании фильтра, в лог пишется название категории, если конечно оно задано. Дальше алгорим скрипта простой, его я могу выложить в понедельник, когда выйду на работу. Получаем строку лога и ищем в ней один из маркеров (_KOI8-R _UTF-8 _WIN-1251), если маркер найден, конвертируем строку в соответствующую кодировку и выводим на экран, если ни одного маркера нет выводим как есть, потом повторяем для следующей строки. В результате, все русские фразы в логе отображаются корректно
|
|
| |
galkin24 | Дата: Суббота, 17.03.2012, 23:11 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| подождём до понедельника
|
|
| |
Vito | Дата: Воскресенье, 18.03.2012, 14:18 | Сообщение # 4 |
Подполковник
Группа: Администраторы
Сообщений: 131
Статус: Offline
| Скрипт для просмотра лога в правильной кодировке. Написан на Perl, требуется perl-модуль Text::Iconv Работает с UTF-8, WIN-1251 и KOI8-R кодировками, По-умолчанию скрипт преобразует строки с фразами в UTF-8 кодировку. Но по такому же принципу можно сделать для любой другой кодировки и любой другой локали, всего лишь изменив скрипт.
Для правильной работы скрипта в начале ваших списков фраз должны быть строки, типа #listcategory: "rus_porno_KOI8-R" #listcategory: "rus_porno_UTF-8" #listcategory: "rus_porno_WIN-1251" соответственно кодировке этого файла и категории списка
копируете файл fixlogdans в /usr/local/bin устанавливаете права на исполнение
Используете с помощью конвеера: Пример 1. Просмотр лога на лету. tail -f -n 20 /var/log/dansguardian/access.log | fixlogdans
Пример 2. Сохранение исправленного файла в другой cat /var/log/dansguardian/access.log | fixlogdans > /var/log/dansguardian/my_fix.log
Пример 3. Просмотр последних пяти записей о блокировке по фразам cat /var/log/dansguardian/access.log | grep Weighted | tail -n 5 | fixlogdans
Если скрипт выдает ошибку, проверьте наличие установленного модуля Text::Iconv Скорее всего пакет с модулем будет называться libtext-iconv-perl или похожим образом, просто установите его из репозитория.
|
|
| |
galkin24 | Дата: Воскресенье, 18.03.2012, 21:34 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 14
Статус: Offline
| завтра попробую, сегодня от сервера я уже ушёл домой
|
|
| |