2010-02-01 73 views

回答

15

最近的rails漏洞(特別是涉及機架的漏洞)讓我質疑我最初推薦的Marshal.load方法的安全性。

請不要使用是,因爲它是危險的,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])