【发布时间】:2011-01-11 17:07:24
【问题描述】:
如何序列化数组或对象,然后将其保存到 cookie 中?
cookies[:mydata] = serialize({
:key1 => 'tralala',
:key2 => 'hahaha'
})
谢谢!
【问题讨论】:
标签: ruby-on-rails serialization cookies
如何序列化数组或对象,然后将其保存到 cookie 中?
cookies[:mydata] = serialize({
:key1 => 'tralala',
:key2 => 'hahaha'
})
谢谢!
【问题讨论】:
标签: ruby-on-rails serialization cookies
最近的 Rails 漏洞(尤其是涉及机架的漏洞)让我质疑我最初推荐的 Marshal.load 方法的安全性。
请不要使用 is,因为它很危险并且may potentially allow remote code execution。我已将其从该答案中删除。
虽然不那么灵活,但以下内容也应该可以工作:
初始对象:
my_object = {:k1 => 'v1', :k2 => 'v2'}
保存:
cookies[:my_data] = {
:value => my_object.to_json,
:expires => 4.years.from_now
}
阅读:
my_object = JSON.parse(cookies[:my_data])
【讨论】: