Как сделать так, чтобы сессионный cookie-файл HttpOnly был установлен в пилонах?

StackOverflow https://stackoverflow.com/questions/1220555

Вопрос

Я использую модуль authkit с Pylons и вижу, что cookie-файл сеанса, который он устанавливает (метко называется authkit), не установлен как HttpOnly.

Есть ли простой способ сделать это HttpOnly? (Под «простым» я имею в виду тот, который не включает взлом кода authkit.)

Это было полезно?

Решение

Это не задокументировано в authkit, потому что он начал работать только в Python 2.6 (см. здесь ), но если у вас есть Python 2.6, тогда

authkit.cookie.params.httponly = true

в конфиге должен работать и делать то, что вы хотите.

authkit внутренне использует Cookie.SimpleCookie , и это то, что ограничивает ключи, которые вы можете иметь для authkit.cookie.params. - до Python 2.5 они были только ключи, поддерживаемые стандартом, RFC 2109 , но в Python 2.6 полезный < Было добавлено расширение code> httponly - так authkit автоматически его поддержал ... потому что, вполне правильно, он не выполняет свои собственные проверки, а скорее делегирует все проверки SimpleCookie .

Если вы застряли с Python 2.5 или более ранней версией, то для выполнения этой работы потребуется немного больше усилий (не изменение authkit, а удаление кода Python Cookie.py, или, если возможно, лучше, установка более новой версии Cookie. py из исходников Python 2.6 в каталоге, который находится раньше в sys.path, чем каталог собственной стандартной библиотеки Python).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top