Ruby on rails Rails将对象保存到cookie
如何序列化数组或对象,然后将其保存到cookie中Ruby on rails Rails将对象保存到cookie,ruby-on-rails,serialization,cookies,Ruby On Rails,Serialization,Cookies,如何序列化数组或对象,然后将其保存到cookie中 cookies[:mydata] = serialize({ :key1 => 'tralala', :key2 => 'hahaha' }) 谢谢 最近rails的漏洞(特别是涉及机架的漏洞)让我质疑我最初推荐的Marshal.load方法有多安全 请不要使用is,因为它既危险又安全。我已经把它从这个答案中删除了 虽然没有那么灵活,但以下内容也应适用: 初始对象: my_object = {:k1 => 'v1',
cookies[:mydata] = serialize({
:key1 => 'tralala',
:key2 => 'hahaha'
})
谢谢 最近rails的漏洞(特别是涉及机架的漏洞)让我质疑我最初推荐的
Marshal.load
方法有多安全
请不要使用is,因为它既危险又安全。我已经把它从这个答案中删除了
虽然没有那么灵活,但以下内容也应适用:
初始对象:
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])
保存:
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])
阅读:
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])