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

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

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

1 Ответ

2 голосов
/ 03 августа 2009

Это не задокументировано в 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).

...