Python / Google App Engine中的cookie值str或unicode应该使用什么类型?

时间:2014-03-26 19:55:27

标签: python google-app-engine cookies

Python / Google App Engine中的cookie值str或unicode应该使用哪种类型?

这个问题很简单但很重要 - 我想把二进制信息加密成cookie并学习限制。

在阅读了一些规范后,我发现我应该使用http://docs.python.org/2/library/cookie.html - 无论这个库允许str和unicode。

问题始于编码二进制Cookie

此代码不起作用 - str不能是unicode

''.join([chr(x) for x in range(256)]).decode('utf8')

此代码可以使用,但编码应该选择'latin1'或'base64':

''.join([chr(x) for x in range(256)]).decode('latin1')
''.join([chr(x) for x in range(256)]).decode('base64')

我应该只设置 str 的Cookie或标题,而不是 unicode ,而不关心编码吗?

我会使用 str Cookie().value_encode(value)来跟踪rfc和浏览器特定的行为吗?

你能提出一些切实可行的解决方案吗?

1 个答案:

答案 0 :(得分:1)

Cookie链中潜在的不可靠链接是HTTP(S)代理服务器和用户代理,例如浏览器和客户端应用程序。服务器发送cookie。这些以各种计算机语言创建的远程程序可以根据自己的"字符串"的概念处理cookie,以各种文件格式存储cookie,然后将cookie返回给服务器。有这么多潜在的失败点,cookie中二进制数据最安全的选择必须是base64。