2011-12-18 105 views
0

我在我的应用程序中有一个非常特殊的登录功能,所以而不是插件我使用我自己的代码。在rails和安全会话

在我的控制器我有类似

def login 
    ... 
    session[:customer_id] = id 
end 

我使用的CookieStore(默认)。所以它是安全的?如果有人编辑cookies会怎么样?他能用另一个身份证模仿别人吗?

回答

1

消息摘要是包含在cookie来确保数据的完整性:在不知道包含在散列密钥,用户不能改变他的USER_ID。使用config/environment.rb中的预生成秘密生成新应用程序。为您正在升级的旧应用设置您自己的设置。

请参阅http://api.rubyonrails.org/v2.3.8/classes/ActionController/Session/CookieStore.html。还请注意这句话:

如果你有会话数据超过4K或不希望自己的数据是对用户可见,选择另一个会话存储。

在你的情况下,它肯定没关系,你可以使用CookieStore而不用担心。