Персонажи, появляющиеся в данных POST - PullRequest
4 голосов
/ 15 марта 2011

Я использую ssl-сайт с высоким трафиком с помощью apache / mod_wsgi / python.Очень редко (примерно в 10 раз за 3 месяца) я видел некоторые дополнительные символы мусора в данных поста.

Обычно в конце это был дополнительный символ.

('access.uid', 'allow\xba')
('checksum', 'b219d6a006ebd95691d0d7b468a94510496c5dd8\xff')

Однажды, хотя это было в середине чьего-то пароля.Примерно так:

('login_password', 'samplepass\xe7word')

Я пытался восстановить запрос со всеми одинаковыми заголовками, но мне не удалось воспроизвести ошибку.Кто-нибудь имеет какие-либо идеи о том, что может быть причиной этого или какие-либо идеи о том, как я мог бы воспроизвести и исправить эту проблему?

(скопировано снизу): Я использую apache-2.2.17_1 - Питер 15 марта в 18:09. Я использую mod_wsgi-3.3_1 на одной машине и mod_wsgi-2.8_1 на другой.Я видел эту ошибку на обоих.

Ответы [ 4 ]

2 голосов
/ 15 марта 2011

Какую версию Apache вы используете?Из памяти где-то около Apache 2.2.12-2.2.15 были различные исправления SSL.Возможно, вы захотите убедиться, что используете Apache 2.2.15 или более позднюю версию.

0 голосов
/ 23 марта 2011

Это очень похоже на chunked HTTP / 1.1 .

Используйте соответствующий обработчик, чтобы отсоединить его перед синтаксическим анализом.См. [1] , [2] .

Другой вариант - принимать только HTTP / 1.0, который вообще не имеет чанкинг, но это может иметь недостатки.

0 голосов
/ 21 марта 2011

Поскольку вы сказали, что все ошибки произошли в IE 7 или 8, я начинаю подозревать, что ошибка происходит на стороне клиента в браузере.Я никогда не слышал ничего подобного об этой ошибке, и я понятия не имею, что могло бы вызвать ее на стороне сервера, за исключением аппаратного сбоя (хотя это тоже кажется странным, поскольку только один символ добавлен ).Возможно, вам следует предложить своим пользователям перейти на приличный браузер?

0 голосов
/ 18 марта 2011

что произойдет, если вы напечатаете eval("u'%s'"%garbled_text)?выглядит ли вывод вероятным (я понимаю, что вы, возможно, не сможете публиковать конфиденциальные данные)

Мне кажется, что где-то предполагается, что вы читаете ASCII, даже если вы сказали ему прочитать utf-8.

Можем ли мы увидеть код, который считывает эти данные POST в python, или где они указаны и из какой формы ввода?

...