Как сделать так, чтобы сессионный cookie-файл HttpOnly был установлен в пилонах?
Я использую модуль authkit с Pylons и вижу, что сессионный cookie, который он устанавливает (метко названный authkit), не установлен как HttpOnly.
Есть ли простой способ сделать это HttpOnly? (Под "простым" я подразумеваю тот, который не предполагает взлома кода authkit.)
1 ответ
Это не документировано в 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 полезными httponly
добавлено расширение - вот как authkit получил поддержку для него автоматически... потому что, вполне правильно, он не выполняет свои собственные проверки, а скорее делегирует все проверки SimpleCookie
,
Если вы застряли с Python 2.5 или более ранней версии, то для выполнения этой работы потребуется немного больше усилий (не изменение authkit, а удаление кода Python Cookie.py, или, если возможно, лучше, установка более новой версии Cookie.py из Исходники Python 2.6 находятся в каталоге, который находится раньше в sys.path, чем каталог собственной стандартной библиотеки Python).