【发布时间】:2017-05-18 22:22:49
【问题描述】:
ActionDispatch::Cookies 的文档对签名 cookie 和加密 cookie 给出了几乎相同的描述。似乎两者都使用secrets.secret_key_base 来防止客户端篡改。 http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html
签名的 Cookies
设置一个签名的cookie,防止用户篡改它的值。 cookie 由您的应用程序的
secrets.secret_key_base值签名。 可以使用签名方法cookies.signed[:name]读取
cookies.signed[:user_id] = current_user.id
加密的 cookie
在发送给客户端之前设置一个加密的 cookie 值 防止用户阅读和篡改其价值。 cookie 由您的应用程序的
secrets.secret_key_base值签名。 可以使用加密方式cookies.encrypted[:name]读取
cookies.encrypted[:discount] = 45
我的问题是:两者有什么区别?
您想在什么时候使用一个而不是另一个?
【问题讨论】:
标签: ruby-on-rails cookies session-cookies