Как сделать так, чтобы сессионный cookie-файл HttpOnly был установлен в пилонах?
Вопрос
Я использую модуль 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).