RequestDecoder - автоматическое декодирование запросов |
печать | 2001-12-27 19:05:55
| mcray
|
Установка пакета позволяет создать объект, осуществляющий
автоматическое распознавание кодировки входящих запросов
и перекодирование их в кодировку сервера. Без его установки
ряд версий браузеров, таких как MS Internet Explorer, не
способны правильно работать с сайтом.
|
|
README
Особенностью Рунет является
не только использование шести кодировок, но и то, что из всех доступных
браузеров всегда выбирается тот, который обрабытывает их наиболее кривым
образом. При отсутствии ошибок, проблема кодировок полностью решается
установкой заголовка charset, к сожалению, жизнь оказывается более суровой
и ошибки имеют место. Устав объяснять счастливым обладателямр "решения от микрософт"
причины непристояного поведения их браузера мы написали этот продукт.
- Цель продукта
- Не обращая внимания на то, под видом какой кодировки
пытается браузер отдать запрос, определить реальную кодировку запроса по его
содержанию и перекодировать в КОИ8.
- Метод
- Частотный анализ признаков.
- Достижения
- Работает на сайте www.f-abrika.ru, 2000 хостов в день: с тех пор
как метод был применен там, я стал спать дольше на полтора часа в сутки (
мне больше не нужно объяснять
счастливым пользователем известной компании где и у кого ошибка).
Последняя версия RequestDecoder легко интегрируется в сайт и обладает
некоторыми дополнительными возможностями, скрашивающими жизнь редакторов
сайта.
Установка и настройка RequestDecoder включает следующие шаги:
- Войти в менеджерский интерфейс Zope введя URL
вида http://zope.localdomain/manage;
- Войти в контейнер, содержащий объекты, при обработки запросов к
которым запрос должен перекодироваться (наприер, корневой
контейнер);
- Создать объект типа RequestDecoder (желательно с именем
RequestDecoder, иначе в ряде версий Zope возможны ошибки);
- Войти в объект RequestDecoder и выбрать вкладку "Настройка";
- Подробно настройка описана в хелпах, здесь отметим лишь
возможность указать флаг use_censor - если он установлен, то
запрос будет проверяться на наличие матерных выражений,
рекомендуем вам сбросить этот флаг, если вы хотите использовать
продукт на реальном сайте : флаг введен как опция, включающая
прототип продукта SemanticGuard - любые предложения по ней
приветствуются;
- Вы должны перечислить регулярные выражения, описывающие пути к
объектам, запросы к которым перекодируются. Настройки по
умолчанию перекодируют запросы к менеджерскому интерфейсу;
- Если вы хотите что бы RequestDecoder был по умолчанию активен, вы
должны установить флаг use_decoder;
- Если установлен продукт CrayFIX, то в левом фрейме появится
кнопка, позволяющая включить или выключить RequestDecoder для
текущей сессии;
- Вы можете перейти на вкладку "тест" и ввести текст в неверной
кодировке, протестировав таким образом перекодировщик. В текущей
версии, RequestDecoder обслуживает только кодировки koi8-r и
windows1251.
RequestDecoder содержит модельный прототип продукта SemanticGuard -
продукта, проверяющего текст запроса в поиске запрещенных выражений и при их
появлении генерирующий прерывание Uncensored. В текущей версии это просто
игрушка, позволяющая запретить ввод матерных выражений на сайте - эксперименты
в ее использовании крайне приветствуются, если будут отзывы предложения и
пожелания, то, возможно, работы над продуктом будут продолжены.
|