2010-02-01 9 views

Respuesta

15

Las vulnerabilidades de los carriles recientes (especialmente la que involucra el bastidor), me hicieron cuestionar cuán seguro era el enfoque Marshal.load que inicialmente recomendé.

No lo utilice, ya que es peligroso y may potentially allow remote code execution. Lo eliminé de esta respuesta.

Aunque no es tan flexible, el siguiente debe funcionar así:

objeto inicial:

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

Ahorro:

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

de lectura:

my_object = JSON.parse(cookies[:my_data]) 
Cuestiones relacionadas