2

我将 authkit 模块与 Pylons 一起使用,我看到它设置的会话 cookie(恰当地命名为 authkit)未设置为 HttpOnly。

有没有一种简单的方法可以使它成为 HttpOnly?(我所说的“简单”是指不涉及破解 authkit 代码的那个。)

4

1 回答 1

2

这在 authkit 中没有记录,因为它仅在 Python 2.6 中开始工作(请参见此处),但如果您确实有 Python 2.6,那么

authkit.cookie.params.httponly = true

在配置中应该可以工作并做你想做的事。

authkit 内部使用 a Cookie.SimpleCookie,这就是限制您可以拥有的密钥的原因authkit.cookie.params.——直到 Python 2.5,它们只是标准支持的密钥,RFC 2109,但在 Python 2.6httponly中添加了有用的扩展——这就是 authkit自动获得了对它的支持......因为,非常恰当地,它不进行自己的检查,而是将所有检查委托给SimpleCookie.

如果您坚持使用 Python 2.5 或更早版本,那么要完成这项工作将需要更多的努力(不是更改 authkit,而是猴子修补 Python 的 Cookie.py,或者如果可行,最好从Python 2.6 源代码位于 sys.path 中比 Python 自己的标准库目录更早的目录中)。

于 2009-08-03T04:24:55.520 回答