2010-02-01 7 views

Répondre

15

Les récentes vulnérabilités des rails (en particulier celle concernant les racks), m'ont fait douter de la sécurité de l'approche Marshal.load que j'avais initialement recommandée.

S'il vous plaît ne pas utiliser est, car il est dangereux et may potentially allow remote code execution. Je l'ai retiré de cette réponse.

Bien que pas aussi flexible ce qui suit devrait fonctionner aussi bien:

objet initial:

my_object = {:k1 => 'v1', :k2 => 'v2'} 

Enregistrement:

cookies[:my_data] = { 
    :value => my_object.to_json, 
    :expires => 4.years.from_now 
} 

Lecture:

my_object = JSON.parse(cookies[:my_data]) 
Questions connexes