Skip to main content

Tornado 3.2.1的新功能

2014年5月5日

安全修复

  • RequestHandler.set_secure_cookieRequestHandler.get_secure_cookie 使用的有符号值格式已更改为更安全。 这是一个颠覆性的变化secure_cookie 函数采用新的 version 参数来支持cookie格式之间的转换。

  • 新的Cookie格式修复了在使用多个Cookie的应用程序中可能存在的漏洞,其中一个Cookie的名称是另一个Cookie的名称的前缀。

  • 为了最大限度地减少中断,默认情况下接受旧格式的Cookie,直到它们过期。可能易受攻击的应用程序可以通过将 min_version=2 传递给 RequestHandler.get_secure_cookie 来拒绝所有旧格式的Cookie。

  • 感谢 认证安全 的Joost Pol报告此问题。

向后兼容性说明

  • RequestHandler.set_secure_cookie 在Tornado 3.2.1中发出的签名cookie不能被较早版本读取。如果您需要与旧版本并行运行3.2.1,您可以通过 version=1RequestHandler.set_secure_cookie 以发出向后兼容的cookie(但有一个已知的弱点,因此该选项只应用于一个过渡期)。

其他变化

  • 用于加速websocket模块的C扩展现在可以在Windows上使用MSVC和64位模式正确编译。退回到纯Python替代版本现在可以在没有安装C编译器的Mac OS X机器上正常工作。