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和浏览器特定的行为吗?
你能提出一些切实可行的解决方案吗?
答案 0 :(得分:1)
Cookie链中潜在的不可靠链接是HTTP(S)代理服务器和用户代理,例如浏览器和客户端应用程序。服务器发送cookie。这些以各种计算机语言创建的远程程序可以根据自己的"字符串"的概念处理cookie,以各种文件格式存储cookie,然后将cookie返回给服务器。有这么多潜在的失败点,cookie中二进制数据最安全的选择必须是base64。