2017-02-20 21 views
2

У меня проблемы с заголовками для отдыха с подчеркиванием, не получая значение заголовков остальных, пока я их печатаю.Python Заголовки для бутылок не работают с подчеркиванием

Кто-нибудь имел представление о том, как я мог бы сделать эту работу?

Спасибо!

+0

Не используйте символы подчеркивания в заголовках. Даже если он работал, вы должны остановиться. –

ответ

0

Вы не должны использовать символы подчеркивания в именах заголовков, используйте только тире в качестве разделителей.

Основные веб-серверы, такие как Apache и nginx, а также некоторые серверы/фреймворки Python WSGI будут выделять заголовки с подчеркиваниями, чтобы избежать спуфинга заголовков.

Представьте у вас есть заголовок:

My-Header: value 

Это в CGI/WSGI преобразуется в переменную:

HTTP_MY_HEADER: value 

при передаче приложения.

Проблема заключается в том, что заголовок:

My_Header: value 

также карты к тому же.

Опасность здесь заключается в том, что клиент может использовать ее, а что-то между прокси-сервером может преднамеренно заставить другого попробовать и иметь приоритет, перезаписывая оригинал, когда сервер/приложение обрабатывает его.

Поскольку это потенциальная проблема безопасности, серверы позволяют пропускать заголовки с буквенно-цифровыми символами и штрихами, и все остальное отбрасывается.

+0

Hi Graham, Но он работает с тех пор, как пару месяцев, внезапно он перестает работать, я не могу его изменить, потому что это изменение также применяется и на стороне клиента. –

+0

Какой сервер WSGI вы используете? Был ли обновлен сервер WSGI? –

+0

Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Конфигурация Python/2.7.12. –